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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Безопасная работа с сессиями

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
dropoff
Отправлено: 22 Мая, 2011 - 05:42:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Всем привет.
Не прошу написать за меня! Просто не могу найти нормальное решение.

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

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

Я просто не могу понять как лучше сделать, чтобы было безопасно.
 
 Top
molchun201
Отправлено: 22 Мая, 2011 - 10:34:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




dropoff пишет:
Привязка ip к сессии

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

Вы понимаете что такое сессии?
(Добавление)
PS Купите пива и орешки, затем под всё это дело неплохо зайдёт вот эта статья:
http://www.php.su/articles/?cat=examples&page=070

(Отредактировано автором: 22 Мая, 2011 - 10:37:20)



-----
Обрамляйте код тегами и читайте
 
 Top
dropoff
Отправлено: 22 Мая, 2011 - 10:38:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




А что не понятного написано?
 
 Top
molchun201
Отправлено: 22 Мая, 2011 - 10:39:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




Написано то понятно, просто если знать что такое сессии и как они работают, то этот вопрос покажется крайне некорректным и в корне неверным.


-----
Обрамляйте код тегами и читайте
 
 Top
Champion Супермодератор
Отправлено: 22 Мая, 2011 - 10:58:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ну вероятность того, что сопрут сессионную куку очень небольшая. Но если хочется проверять по 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. }
 
 Top
dropoff
Отправлено: 22 Мая, 2011 - 11:03:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Champion, спасибо!
Я про это и спрашивал. Просто думал может у кого есть готовые решения(класс или функция) по более сложной привязки юзера к сессии...
Потому как знаний у меня пока мало в этой области и не уверен, что сделал бы правильно.

Еще раз спасибо.
 
 Top
xhugo
Отправлено: 22 Мая, 2011 - 11:06:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 357
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




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

это если на сайте присутствует XSS.
 
 Top
dropoff
Отправлено: 22 Мая, 2011 - 11:09:43
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




xhugo, лишний раз как-то обезопасить не помешает) Я не параноик)
Просто сам попробовал подставить сессию админа на другом компе и зашел с его правами. И как-то беспокойно стало, что так легко можно права получить. Хотя понимаю, что это будет работать пока жива сессия...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB