Проидентифицировать пользователя

Статус
В этой теме нельзя размещать новые ответы.

HatoL

Профессор
Регистрация
5 Фев 2008
Сообщения
206
Реакции
36
В PHP есть сессии, в них генерируется session_id. Вопрос, как самому сгенерировать такой id, чтобы идентифицировать пользователя? Просто хочу по-своему реализовать сессию.
 
По сути это md5 или sha1 хеш.

Популярно описано здесь Для просмотра ссылки Войди или Зарегистрируйся заодно там и про уязвимость - можешь учесть в своём генераторе.
Будет полезен комментарий Для просмотра ссылки Войди или Зарегистрируйся

В исходниках Для просмотра ссылки Войди или Зарегистрируйся
 
Пример "придумывания" сессии:
PHP:
$session_id = sha1(uniqid(mt_rand(), TRUE));

Далее $session_id - записываем в БД или еще куда..) - так и идентифицируем пользователя в дальнейшем.
(так работает на ExpressionEngine 1.x)
 
Я реализовал вот так, не знаю на сколько это для вас радикально выглядит)))

PHP:
$salto = "abcdfghjkmnpqrtvwxyzABCDFGHJKLMNPQRTVWXYZ0123456789";
srand( ( double ) microtime() * 1000000 );
for($i = 0; $i < 3; $i ++){ $random_value .= $salto{rand( 1, 55 )}; }
$hash_val = sha1( md5( $user_email . $user_id ) . time() . $random_value . "уникальный стриг системой" );
 
Посмотрите в Джумле. Там сессия привязывается к IP, браузеру и id-пользователя. Если меняется хоть один параметр - сессия слетает. Да и название переменой для сессии тоже уникально.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху