Оцените такой алгоритм автологина

Лисю

Guest
Оцените такой алгоритм автологина

Значит, что имею. Имею таблицу с user_id, user_login, user_password. Последнее - хэши md5 паролей.

Как делаю систему автологина:
Если пользователь ввёл корректно свой логин и пароль, т.е. введённый пользователь логин совпал с логином из БД, а хеш из БД совпал с хешем md5($_POST['user_password']), то выставляю 2 куки:
1. user_id = ид_пользователя
2. user_hash = md5(логин_пользователя.хэш_пароля_пользователя)

Теперь при заходе на страницу выполняется проверка
PHP:
//проверяем куки на вредные символы

if(!empty($_COOKIE["user_id"]) && !empty($_COOKIE["user_hash"]) && strlen($_COOKIE["user_hash"])===32){

//теперь сравнение с информацией из БД
....
if( SELECT ... FROM ... WHERE user_id=$_COOKIE[user_id] AND  MD5(CONCAT(user_login,user_password)) = '$_COOKIE[user_hash]'){
// авторизация!
} else {//не авторизация
}
...
 

Фанат

oncle terrible
Команда форума
//проверяем куки на вредные символы
огласите список вредных символов, пжлст

строки в пхп пишутся в кавычках.

Оцените такой алгоритм автологина
алгоритм нормальный.
а вот запросы составлять тебе надо ещё поучиться.
в факе по слешам
 

SiMM

Новичок
Никаких вредных символов в природе не существует. Бывают неправильносформированные SQL-запросы, подверженные SQL-injection
 

EugeneS

Новичок
строки в пхп пишутся в кавычках.
ай я вас умоляю ... для данного варианта как у него сойдёт и без, ему же лень запрос с канкатенациями писать :)
 

Лисю

Guest
if( SELECT ... FROM ... WHERE user_id=$_COOKIE[user_id] AND MD5(CONCAT(user_login,user_password)) = '$_COOKIE[user_hash]'){
если кто заметил - это абстрактно. ясен пень, что там кавычки нужны...
 
Сверху