Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: защита сессии от подделки
 
 автор: T-Ray   (17.02.2008 в 05:03)   письмо автору
 
 

Здравствуйте. Скажите как можно защитить сессию от подделки. Допустим если злоумышленик узнает сессию администратора(сниффер) и заменит свою на его, (например в редакторе куков Opera), то он получит права админа. подскажите хотябы алгоритм.

   
 
 автор: а-я   (17.02.2008 в 05:22)   письмо автору
 
   для: T-Ray   (17.02.2008 в 05:03)
 

SID - можно создать до старта сессии.
session_id();

можно использовать хэш(md5()) от броузера + IP.
если у тебя IP динамические, тогда используй только первые значения.


Сделай отдельную таблицу для IP/
записываешь туда 1ые несколько значений от IP. если кто-то зашел со старой сессией.
т.е. может кто-то делает подбор сида.
больше 5 раз за 10 мин, блокируй авторизацию с этого IP/

еще можно в сиде хранить какую либо информацию.
например, статус,страна, пол, возраст.)

еще можно условия в сид :
делаешь условие,например, что 5 значение сида должно быть обязательно числом и меньше 4,
10 значение - число между 5 и 10.
и т.д.

если кто-то умудриться невписаться в эти условия, их можно сразу блокировать...

тут куча вариантов))

   
 
 автор: T-Ray   (17.02.2008 в 05:57)   письмо автору
 
   для: а-я   (17.02.2008 в 05:22)
 

ip у меня демонический) и еще не могу понят зачем кто-то будет делать подбор sid ))) если его с первого раза можно узнать через сниффер? тут нужно что-то такое, до чего я еще не додумался...)

   
 
 автор: Lstasss   (17.02.2008 в 15:12)   письмо автору
 
   для: T-Ray   (17.02.2008 в 05:57)
 

sha1($_SERVER["HTTP_ACCEPT"] . ' какой-нибудь бред') - и хранить это в сессии
можно добавить_SERVER["HTTP_USER_AGENT"], _SERVER["HTTP_ACCEPT_LANGUAGE"], _SERVER["HTTP_ACCEPT_ENCODING"], _SERVER["HTTP_ACCEPT_ENCODING"], захэшить их, тоже хранить в сессии.
Но ничего из этого не является, естесственно, панацеей.
Есть ещё такой вариант - проверять X_FORWARDED_FOR, есть / нету прокси и тоже хранить в сессии.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования