Здравствуйте!
Хочу обсудить лучший вариант организации регистрации. Хочется отказаться от варианта работы с cookie, с записью в них md5 хеша пароля.
Я вижу новый вариант таким:
Юзать сессию, а её идентификатор хранить в cookie, но какие есть опасности?
Создал тему, т.к. подобной не было. Были темы лишь с просьбой научить или помочь сделать регистрацию на сайте. Я же хочу обсудить алгоритм лучший для этого дела
тоже интересует такой вопрос прошу всех знающих подсказать самый оптимальный вариант
03 Апр 2011, 20:35А чем куки не устраивают?
Записывать в куки идентификатор сессии, отказываясь от регистрации на куках...?
Вот совет: ни в куках, ни в сессиях не должно быть ничего кроме идентификатора.
То есть храним какую-либо фигню, позволяющяю однозначно идентифицировать юзера.
А затем уже достаем из сессии/базы данных/файла/секретного хранилища пентагона всю информацию о юзере.
При авторизации по кукам, любое действие, которое изменяет данные, должно проверятся, действительно ли оно сделано пользователем.
Подробнее: http://ru.wikipedia.org/wiki/CSRF
причем тут CSRF?
по теме - идентификатор в сессии должен быть зашифрован специальным алгоритмом с секретным словом + проверкой этого слова допустим по связке подмаска сети + брауЗер что-то такое
То вы уже параноите.
if(isset($_SESSION['ib'])){ if($_SESSION['ib'] !=md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'])){session_destroy(); exit;}else
$_SESSION['ib']=md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);
Этого хватит а то даже и это лишнее.
КрошкаБуги, но получается проверка логина/пароля будет только до записи данных либо в сессию, либо в куки? И потом сверку нельзя будет сделать? Если к примеру сменил пароль, потому что его там якобы кто то ломает... Или при смене пароля посылать на авторизацию и всё?
добавлено спустя 1 час 53 минуты:
Можно попросить написать алгоритм авторизации, т.е., к примеру, 1. Получили данные из формы, 2. Сверяем, есть ли в базе такое, 3. ...
КрошкаБуги, плевать на проверку сессии, проверка пройдёт 100%, потому что кукисы будут переданы браузером посетителя. Сначала прочитай то, что я дал по ссылке, потом осмысли и уже потом пытайся спорить.
04 Апр 2011, 8:46JESOD,8
При регистрации записывай данные (логин,пароль) с формы в базу и сессии.
При авторизации сверяй данные с формы с базой и если успешно пиши их в сессию.
Далее на страницах требующих авторизации сверяй данные сессии с базой.
OZ_,9
имелась ввиду защита от кражи(подделке) идентификатора сессий.