+165
- 1
$idlink = rawurlencode(base64_encode($name . "||" . $email . "||" . md5( $password1 ) . "||" . $accountID_1 . "||" . $accountID_2 . "||" . $accountID_3 . "||" . $serverid_1 . "||" . $serverid_2 . "||" . $serverid_3 . "||" . md5( sha1( $name . $email . DBHOST . DBNAME . $config['key'] ) ) ) );
Значит так, ребята. Готовьтесь воспринимать. Данные с регистрационной формы кодируются как только можно, потом с этим кодом генерируется ссылка и отправляется письмо с подтверждением регистрации. Когда новый пользователь переходит по ссылочке, данные берутся из базы, снова кодируются и сравниваются с кодом из ссылки.
Пы.Сы. Код не мой
Запостил:
kindofbear,
18 Октября 2011
И вообще - use bcrypt
это даст нам достаточно уникальный токен определенной длинны.
так же нужно сделать таблицу
token|action|exptime
где
token - собственно токен
action - ссылка на действие
exptime - время окончания действия токена (т. е. момент когда он протухнет)
... но не зная контекста задачи - трудно говорить насколько это подходящее решение.
есть небольшое ограничение по использованию.
тогда уж - uniqid
я правильно понял?
И "Когда новый пользователь переходит по ссылочке" - апдейтить значение этого хэша в нуль.
БСК. md5 от uniqid только ухудшает энтропию
Так что, навряд ли, ухудшает
в общем, брать хэш от случайного стринга не имеет смысла
А смысл такой - чтобы добавить обфускации
грае, грае, воропае
Ну это, в общем-то, бог с ним - каждый дрочит кодит как хочет, но зачем код подтерждения привязан на DBHOST, DBNAME?
http://www.topsbi.ru/default.asp?artID=134
войска не мои! я просто передал депешу!
$_REQUEST['id'] = rawurlencode( base64_encode( $name . "||" . $email . "||" . md5( $password1 ) . "||" . md5( sha1( $name . $email . DBHOST . DBNAME . $config['key'] ) ) ) );