Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Безопасная работа с сессиями
Форумы портала PHP.SU » » HTTP и PHP » Безопасная работа с сессиями

Страниц (1): [1]
 

1. dropoff - 22 Мая, 2011 - 05:42:08 - перейти к сообщению
Всем привет.
Не прошу написать за меня! Просто не могу найти нормальное решение.

Может есть у кого готовый класс или функции... для работы с сессиями?
А именно:
Привязка ip к сессии
Привязка браузера к сессии
Посыл в куки не id сессии а какого-то ключа, по которому определять уже вышенаписанное
...
Ну в таком духе что-то.

А то легко спереть куку сейчас и подставив себе быть админом) если сессия админа жива.

Я просто не могу понять как лучше сделать, чтобы было безопасно.
2. molchun201 - 22 Мая, 2011 - 10:34:27 - перейти к сообщению
dropoff пишет:
Привязка ip к сессии

Не понял
dropoff пишет:
Привязка браузера к сессии

Вы понимаете что такое сессии?
(Добавление)
PS Купите пива и орешки, затем под всё это дело неплохо зайдёт вот эта статья:
http://www.php.su/articles/?cat=...les&page=070
3. dropoff - 22 Мая, 2011 - 10:38:25 - перейти к сообщению
А что не понятного написано?
4. molchun201 - 22 Мая, 2011 - 10:39:46 - перейти к сообщению
Написано то понятно, просто если знать что такое сессии и как они работают, то этот вопрос покажется крайне некорректным и в корне неверным.
5. Champion - 22 Мая, 2011 - 10:58:32 - перейти к сообщению
Ну вероятность того, что сопрут сессионную куку очень небольшая. Но если хочется проверять по ip и браузеру, то это конечно сделать можно:
PHP:
скопировать код в буфер обмена
  1. if ($_SESSION[ip] != $_SERVER['REMOTE_ADDR'] || остально) {
  2. echo "хм, только что эта сессия работала с другого ip / под другим браузером";
  3. редирект на логин
  4. } else {
  5. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']
  6. $_SESSION['fw'] = $_SERVER['HTTP_X_FORWARDED_FOR'] или как он там пишется
  7. $_SESSION['ua'] = $_SERVER['HTTP_USER_AGENT']
  8. }
6. dropoff - 22 Мая, 2011 - 11:03:12 - перейти к сообщению
Champion, спасибо!
Я про это и спрашивал. Просто думал может у кого есть готовые решения(класс или функция) по более сложной привязки юзера к сессии...
Потому как знаний у меня пока мало в этой области и не уверен, что сделал бы правильно.

Еще раз спасибо.
7. xhugo - 22 Мая, 2011 - 11:06:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. А то легко спереть куку сейчас и подставив себе быть админом)

это если на сайте присутствует XSS.
8. dropoff - 22 Мая, 2011 - 11:09:43 - перейти к сообщению
xhugo, лишний раз как-то обезопасить не помешает) Я не параноик)
Просто сам попробовал подставить сессию админа на другом компе и зашел с его правами. И как-то беспокойно стало, что так легко можно права получить. Хотя понимаю, что это будет работать пока жива сессия...

 

Powered by ExBB FM 1.0 RC1