Я создаю веб-сайт, на котором пользователям предоставляется учетная запись только по приглашению, и отправляются уникальный код по почте. Затем пользователи могут войти в систему (по крайней мере в первый раз), введя только код.Безопасный способ разрешить пользователям входить в систему с единственным уникальным кодом (без имени пользователя)?
Целью этого является то, что его чрезвычайно легко понять и использовать люди, не имеющие технической поддержки.
Учетные записи пользователей будут содержать имя, адрес электронной почты, может быть адрес, если пользователь хочет его добавить. Никакой другой важной информации.
Сайт сам по себе не будет интересовать никого, кроме приглашенных, и не будет индексироваться поисковыми системами.
Если вы представите пользователи получают часть почты в пост, который говорит что-то вдоль линий:
Please visit www.example.com
Log in with your unique code:
A6XH3
Что касается кода, то он должен быть очень легко запомнить и ввести ,
Я планировал четыре или пять буквенных символов верхнего регистра - например. A6XH3 - потому что я не хочу, чтобы кому-то приходилось вводить длинный хэш или сложную строку. Я думаю, что 6 символов - это предел, который я счел бы приемлемым для людей, чтобы они вошли в этот формат.
Альтернативная идея, которую я имел, заключалась в том, чтобы использовать два/три слова, удобные для написания, такие как
[adjective] [noun]
, которые были бы более увлекательными и кажутся менее «техничными» для пользователей - например. симпатичный голубой цветок - который будет более соответствовать духу сайта.
Caveat
администраторы сайта должны иметь возможность видеть все коды пользователей в текстовом формате, так что они могут отправить их в первую очередь и/или оказать поддержку кому-либо не в состоянии войти Они могут также потребовать генерировать новый код по какой-то причине и напрямую сообщать об этом человеку.
Есть ли альтернатива хранению кодов в виде простого текста в базе данных?
Вопросы
Является ли это достаточно безопасно для контекста? т.е. только те, кто знает о сайте, являются приглашенными, и нет никаких реальных мотивов для того, чтобы кто-либо попытался пробиться.
Вы бы использовали один из моих методов уникального генерации кода, а если нет что бы вы предложили в качестве лучшего решения?
Есть ли другой способ, которым я мог бы позволить простой вход без ущерба для безопасности или простоты использования без имени пользователя?
Напоминание
Там нет процесса регистрации, и пользователи не выбирают свой собственный код. Их учетная запись создается администратором веб-сайта, и сайт случайно генерирует для них уникальный код.
Всегда есть мотив проникнуть во что угодно, почувствовать * это * чувство. Попытайтесь не думать «нет мотива», потому что кто-то, возможно, сделает старое «эй, я взломал ваш сайт. Скажу вам, где он уязвим за 50 000 долларов, иначе я публикую всякую информацию». –
Я бы, вероятно, добавил ограничение по времени для этого уникального идентификатора. –
Если вы должны хранить коды в виде простого текста в целях удобства пользователя, не разрешайте пользователям устанавливать свои собственные. Причина этого заключается в том, что сохраненные пароли должны быть хэшированы: по всем советам пользователи все еще используют комбинации электронной почты и пароля и случайно передают учетные данные своим социальным сетям, электронной почте и другим учетным записям. Не позволяйте им делать это на вас, особенно если безопасность не должна быть первостепенной. – halfer