+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
sectus 18.10.2011 08:24 # 0
kindofbear 18.10.2011 08:26 # 0
И вообще - use bcrypt
sectus 18.10.2011 08:36 # 0
Teddy_Brown 18.10.2011 12:03 # +1
это даст нам достаточно уникальный токен определенной длинны.
так же нужно сделать таблицу
token|action|exptime
где
token - собственно токен
action - ссылка на действие
exptime - время окончания действия токена (т. е. момент когда он протухнет)
Teddy_Brown 18.10.2011 13:03 # 0
... но не зная контекста задачи - трудно говорить насколько это подходящее решение.
bot-minurast 18.10.2011 13:21 # 0
Teddy_Brown 18.10.2011 13:28 # 0
есть небольшое ограничение по использованию.
bot-minurast 18.10.2011 13:37 # 0
Teddy_Brown 18.10.2011 13:53 # 0
bot-minurast 18.10.2011 14:21 # 0
тогда уж - uniqid
Teddy_Brown 18.10.2011 14:40 # 0
я правильно понял?
bot-minurast 18.10.2011 14:53 # 0
И "Когда новый пользователь переходит по ссылочке" - апдейтить значение этого хэша в нуль.
Teddy_Brown 18.10.2011 15:57 # 0
Lure Of Chaos 18.10.2011 14:54 # 0
БСК. md5 от uniqid только ухудшает энтропию
bot-minurast 18.10.2011 15:06 # 0
Так что, навряд ли, ухудшает
Lure Of Chaos 18.10.2011 15:13 # 0
в общем, брать хэш от случайного стринга не имеет смысла
bot-minurast 18.10.2011 15:22 # 0
А смысл такой - чтобы добавить обфускации
bugmenot 18.10.2011 15:24 # 0
Teddy_Brown 18.10.2011 15:58 # 0
bugmenot 18.10.2011 16:06 # +4
грае, грае, воропае
3.14159265 18.10.2011 16:11 # 0
bugmenot 18.10.2011 16:20 # 0
Teddy_Brown 18.10.2011 16:45 # 0
Nemoden 18.10.2011 08:58 # +4
Ну это, в общем-то, бог с ним - каждый дрочит кодит как хочет, но зачем код подтерждения привязан на DBHOST, DBNAME?
bot-minurast 18.10.2011 09:19 # +4
Vasiliy 18.10.2011 09:20 # 0
Teddy_Brown 18.10.2011 09:08 # 0
alexoy 18.10.2011 10:29 # −11
Teddy_Brown 18.10.2011 11:37 # 0
http://www.topsbi.ru/default.asp?artID=134
alexoy 18.10.2011 11:46 # −5
bugmenot 18.10.2011 12:09 # +3
Teddy_Brown 18.10.2011 12:25 # 0
alexoy 18.10.2011 12:38 # −6
Teddy_Brown 18.10.2011 12:42 # 0
bot-minurast 18.10.2011 13:45 # 0
ohlol 18.10.2011 17:30 # −5
Uhehesh 18.10.2011 16:47 # +3
Teddy_Brown 19.10.2011 09:55 # 0
roman-kashitsyn 19.10.2011 10:13 # +3
Teddy_Brown 19.10.2011 11:36 # +6
войска не мои! я просто передал депешу!
nethak 18.10.2011 15:02 # −1
Hamer 24.10.2011 05:29 # 0
$_REQUEST['id'] = rawurlencode( base64_encode( $name . "||" . $email . "||" . md5( $password1 ) . "||" . md5( sha1( $name . $email . DBHOST . DBNAME . $config['key'] ) ) ) );
kindofbear 25.10.2011 12:14 # 0