Достаточно ли надежно защищено электронное письмо для активации учетной записи пользователя без секрета в БД? - PullRequest
2 голосов
/ 21 июля 2009

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

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

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

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

Моя причина не хранить неактивированную учетную запись пользователя состоит в том, что я не хочу удалять их из БД каждые x дней.

Ответы [ 2 ]

5 голосов
/ 21 июля 2009

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

Если кто-то хочет синтезировать свои собственные хеши для регистрации произвольных адресов, более эффективным использованием их времени будет получение доступа к вашему серверу для чтения исходного кода:)

2 голосов
/ 21 июля 2009

Я думаю, что было бы лучше сгенерировать случайный секрет и сохранить его в БД. Таким образом, нет ничего, что можно было бы угадать. (По крайней мере, ничего, что дает разрешение на добавление любого письма).

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