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


34

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

Если необходимо, как долго пользователю нужно будет щелкнуть ссылку?

36

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

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

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

Теперь, на правильное время, я бы сказал, что это зависит от типа веб-сайта. Я не вижу смысла разрешать более нескольких часов, потому что пользователь должен иметь возможность быстро получить доступ к своему адресу электронной почты, если он сможет зарегистрироваться на ваш сайт. Рассмотрим случай, когда пользователь забыл пароль своего адреса электронной почты и не может получить к нему доступ. Возможно, ему потребуется пройти несколько шагов, чтобы вернуть его пароль, который может занять некоторое время. Однако, действительно ли это навредит, если он снова зарегистрируется? Еще раз, это зависит от веб-сайта.

+1

Большинство сайтов имеют функциональность «Повторить проверку электронной почты» (либо как явная ссылка, либо автоматически, когда пользователь пытается зарегистрироваться с тем же письмом дважды). Эта функциональность необходима, потому что проверка электронной почты может быть потеряна в пути (спам-фильтры и т. Д.). Теперь, как кто-то может заблокировать меня, если я всегда могу отправить подтверждение электронной почты? 16 ноя. 132013-11-16 23:42:33


6

Принимая устаревшие ресурсы из-за уравнения, нет причин, по которым вам нужно будет истечь эти ссылки.

Таким образом, вы должны подумать о том, как 99% пользователей будут использовать ваш сайт и оптимизировать для этого. Будет редко случается, что кто-то найдет 18-месячную ссылку активации в своем почтовом ящике И запомнит ваш сайт И все-таки найдет его полезным И нажмите на эту ссылку.

С активационными ссылками или кодами, которые сохраняются вечно, вы должны держать их навсегда. Если у вас есть популярный сайт, в котором может быть много строк в вашей БД.

Каков худший сценарий, если вы истекаете эти ссылки через 10 дней, и им нужно снова нажать «создать учетную запись»?

Кстати, активация блокировки для пользователя B, поскольку пользователь A уже использовал свой адрес электронной почты (либо ошибочно, либо злонамеренно), является очень плохим опытом. Дело не в том, кто первым попадает туда, а в том, кто действительно владеет учетной записью электронной почты.


3

Я согласен с this Ответ (+1). На большинстве сайтов необходимо иметь функцию «Resend verification email», поскольку оригинальная электронная почта может быть потеряна на маршруте или заблокирована фильтром спама. Это означает, что, вопреки most upvoted answer, никто не может заблокировать мою электронную почту, потому что я всегда могу отправить подтверждение на мой адрес.Таким образом, единственной реальной причиной проверки ссылок на срок действия является ресурсов хранения: мы хотим удалить непроверенные аккаунты (ссылки), чтобы избежать неограниченного или замедления хранения. Поэтому нам нужен разумный способ удаления «неиспользуемых» непроверенных учетных записей (скажем, через 48 часов с момента отправки последнего сообщения проверки).