создать учетную запись, затем подтвердить (или подтвердить, затем создать учетную запись) - PullRequest
12 голосов
/ 15 февраля 2011

Большинство примеров, которые я вижу в Интернете, создают учетные записи пользователей в такой последовательности: пользователь заходит на сайт, выбирает имя пользователя и пароль и вводит свою электронную почту.Письмо с подтверждением, отправленное на это письмо, и, если они нажмут на ссылку, учетная запись будет подтверждена.Если они не подтвердят, учетная запись будет удалена через некоторое время.

Мне сказали о другом способе: сначала попросить пользователя проверить электронную почту, и когда он щелкнет ссылку подтверждения в своем электронном письме, он может начать создавать имя пользователя и пароль.

Кто-нибудь видит какие-либо проблемы со вторым способом, будь то проблема безопасности или что-то еще?Это не часто, и я лично не могу найти абсолютно очевидную проблему с этим, но я предпочел бы использовать это только после того, как много людей подтвердят, что они не видят проблемы или лазейки с этим также.

Ответы [ 12 ]

0 голосов
/ 22 февраля 2011

Оба подхода в порядке - но если вы собираетесь отложить создание учетной записи, вам придется встроить все необходимые данные в URL - дату истечения срока действия, имя пользователя, пароль и адрес электронной почты, а затем зашифровать его.все, чтобы предотвратить вмешательство - что делает его довольно большим.

На самом деле - вы не могли позволить людям выбирать свои собственные имена пользователей - поскольку у вас не было бы возможности проверить, было ли имя пользователя уже запрошено и не подтверждено.И если вы собираетесь публиковать имена пользователей, то вы, следовательно, будете публиковать адреса электронной почты ..... не такая хорошая идея?

0 голосов
/ 22 февраля 2011

Я хочу поделиться некоторыми мыслями о втором подходе.

Прежде всего, это очень похоже на приглашение системы, но ЭТО НЕ то же самое.

  1. Вы должны разрешить отправить более одного запроса на регистрацию для одного адреса электронной почты.Если вы этого не сделаете - потенциальный пользователь может удалить его случайно, и не будет возможности повторить процедуру.Если вы разрешите, чтобы некоторые злые парни могли использовать это как инструмент для рассылки спама (отправляйте как можно больше писем на один (возможно, даже больше)) адрес электронной почты. Представьте, как ваша компания / сайт будет искать человека, получившего 10 тыс. Запросов на регистрацию...

  2. Стандартный способ имеет одно серьезное преимущество: он позволяет резервировать имя пользователя без подтверждения электронной почты (пользователь может захотеть зарегистрироваться, но не хочет или не имеет доступа к электронной почте).почтовый сервер / учетная запись).

  3. Вы ДОЛЖНЫ учитывать, что ваш сервер может задерживать отправку электронной почты на довольно длительное время. Возможные причины: нехватка памяти, DoS-атака, сбой почтового сервера и т. д.Если вы выберете первый подход к почте и пользователь не получит эту почту в течение 5 минут (по ЛЮБОЙ причине), 3 из 4 потенциальных пользователей будут проходить курс обучения по вашей компании / сайту и никогда не завершат регистрацию.

Существует причина, по которой это называется стандартным способом, так как рассматривается множество мелких деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...