У меня есть веб-сайт, такой как SO. Когда пользователи создают учетную запись, их учетные записи деактивируются до тех пор, пока не откроются их электронные письма и не щелкните по такому URL-адресу, который я отправил ранее.Лучший алгоритм активации учетной записи пользователя
Ну, этот URL должен содержать какие параметры?
В настоящее время я получаю адрес электронной почты пользователя хэш и передаю его как параметр для этого URL-адреса. Поэтому, когда пользователь нажимает на нее, я получаю эту хэшированную электронную почту и сравниваю ее. Но мой алгоритм не очень хорош, потому что пользователь может сам хэш-адрес электронной почты и передать его моему сценарию, не открывая его электронную почту. Ну, я хочу знать, как я могу сделать url для подтверждения-подтверждения и как его проверить?
Вам нужно хэш его вместе с чем-то случайным, которое знает только приложение. –
Посмотрите на соление хешей. [Это сообщение] (http://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure-for-password-storage) относится к паролям, но вы можете использовать тот же метод для своего одноразовая ссылка активации. Затем вы можете просто сохранить ключ в своей базе данных до его использования, а затем удалить запись. – Takarii
Обычно лучше также иметь дату истечения срока действия, чтобы через некоторое время вы могли очистить свой дБ, удалив все истекшие (неактивные) аккаунты. – ChatterOne