|
|
|
|
|
для: Z3RO
(09.05.2011 в 11:50)
| | >либо ссылку с ключом для автологина.
Такие ссылки могут утекать, оставаться в кэше браузера (в том числе и на публичных машинах), после публикации подхватываться поисковыми роботами, кроме того, если их сделать достаточно короткими и легко-запоминаемыми (как я понял, длинный md5-хэш именно поэтому критерию не подходит), то их можно будет и перебором попытаться найти.
Я, конечно, не настаиваю - вам виднее, как лучше поступить, но это довольно-таки опасная штука. | |
|
|
|
|
|
|
|
для: cheops
(09.05.2011 в 00:37)
| | Попытаюсь обьяснить алгоритм:
Пользователь регистрируется, ему выдаётся логин, пароль и ключ. Если ему нужно авторизоватся, то он может использовать либо пароль с логином на форме для входа, либо ссылку с ключом для автологина. | |
|
|
|
|
|
|
|
для: Z3RO
(09.05.2011 в 00:02)
| | Хм... тогда не понятно, зачем потребовался такой ключ. Или вам нужна единичная ссылка, которую вы высылаете письмом - тогда там ключ необязательно уникальный иметь (так как в ссылку можно включить идентификатор пользователя - он всегда будет уникальный, а хэш пусть повторяется, тем более, если он не долго жить будет)? | |
|
|
|
|
|
|
|
для: cheops
(08.05.2011 в 23:54)
| | Нет, у меня другая система: один раз авторизовался и забыл о существувании пароля и логина пока не разлогинишся. | |
|
|
|
|
|
|
|
для: Z3RO
(08.05.2011 в 23:34)
| | А вы хотите пускать по GET-параметру? Это не очень хорошая идея. Обычно такие штуки делают высоконагруженные сервисы и вовсе не для удобства пользователей, а для своего удобства. Т.е. логин и пароль все-равно вводить нужно, но все личные кабинеты имеют свои хэши (плевать какие, лишь бы разные). Это позволяет пользователей разбросать по разным серверам. Вы когда обращаетесь через такую ссылку, хаб-сервер смотрит, что это за ссылка, быстро ищет при помощи хэша нужный сервер и перебрасывает вас туда. Однако, пользователь по режнему вводит пароль и логин, для аутентификации, хэш его данных может быть сохранен в cookie для последующего входа. Но GET-параметр сам по себе для входа не служит, от этой практики лет 20 назад отказались - слишком компьютеры мощные, слишком людей много, слишком ненадежно.
Если вам это нужно для тех же целей, что и социальным сетям - разбросать пользователей по разным машинам - заставьте пользователей самих вводить этот хэш, и проверяйте нет ли такого в базе данных. | |
|
|
|
|
|
|
|
для: cheops
(08.05.2011 в 23:27)
| | Как вы себе представляете логин по ссылке к примеру http://site.ru/login.php?key=4a7d1ed414474e4033ac29ccb8653d9b это не очень удобный вариант. | |
|
|
|
|
|
|
|
для: Z3RO
(08.05.2011 в 23:22)
| | Не очень понятно, почему нельзя. md5() можно скармливать такую уникальную строку на основании информации о пользователе и его пароле, которую бы никто не мог знать (в том числе, кстати и md5-хэш пароля). | |
|
|
|
|
|
|
|
для: sl1p
(08.05.2011 в 23:06)
| | > а если 200 раз совпадёт?
Код устроен так, что выбьет ошибку таймаута и попросит пройти регистрацию заново. | |
|
|
|
|
|
|
|
для: sl1p
(08.05.2011 в 23:06)
| | Нет. Для моих целей мд5 не подойдет. Пароль итак кодируется в мд5. Но пароль используется только для входа по логину и паролю, а ключ нужен для входа по ссылке. | |
|
|
|
|
|
|
|
для: Z3RO
(08.05.2011 в 22:03)
| | Вообще в таких случаях прибегают к md5(), этот алгоритм гарантировано даст вам хэш, которого нет в базе данных, если вы ему передадите уникальную строку (скажем комбинация логина, email, пароля и еще какого-нибудь ключа, против спамеров, чтобы ключ не считали автоматически). Просто если ключи будут слишком часто повторяться - операция их генерации может здорово затянуться, да и базу данных можно будет разгрузить - не нужно будет проверять есть там такой хэш или нет. | |
|
|
|
|