И так.
у нас есть 3 переменных: логин, пароль, ид.
Пользователь производит авторизацию на сайте(указывает логин и пароль) система присваивает переменной $id= его уникальный код из базы.
если код не присвоен, то пользователь не авторизован и не может оставлять коментарии и т.д.
вопрос: как лучше поступить?
1) хранить логин и пароль в сесии и на каждой странице производить запрос к базе.
2) Хранить в сесии ид пользователя, и просто запрашивать из сесии его каждый раз?
Безопасен ли второй вариант?
vagrand
1.10.2014 - 17:44
Хранить в сессии id и уникальный для каждой авторизации хеш и уже по ним проверять.
Хотя это актуально для cookies, если имеются ввиду именно файлы сессий, ну или где вы там их храните, то можно обойтись и одним id.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Цитата (vagrand @ 1.10.2014 - 17:44) |
Хранить в сессии id и уникальный для каждой авторизации хеш и уже по ним проверять. Хотя это актуально для cookies, если имеются ввиду именно файлы сессий, ну или где вы там их храните, то можно обойтись и одним id. |
да именно файл сесии, я просто в вопросах безопасности слаб. Подскажи еще, может ли юзер каким то Раком переназначить переменную ид в сесии?!(чисто теоритечески и как этого избежать)
то что в сессии хранится нет ( данные внутри их хранятся на сервере )
а вот саму сессию легко, угнав её у другого пользователя, поэтому в сессию нужно засунуть контрольную информацию
например UserAgent, ip и в случае изменения просить авторизоваться
Цитата (bestxp @ 1.10.2014 - 18:24) |
то что в сессии хранится нет ( данные внутри их хранятся на сервере )
а вот саму сессию легко, угнав её у другого пользователя, поэтому в сессию нужно засунуть контрольную информацию
например UserAgent, ip и в случае изменения просить авторизоваться |
спасибо, контрольную информацию генерировать случайно? или какие есть хорошие варианты, если можно скинь скриптик!