Как защищать сессию?

Статус
В этой теме нельзя размещать новые ответы.

The_Wolf

Мой дом здесь!
Регистрация
21 Окт 2013
Сообщения
338
Реакции
200
Как можно защищать сессию от хака (сделать ID уникальным) ??
Пароль хранить в сессию не предлагать :)
 
  • Заблокирован
  • #2
SESSION_ID кукис имеет настолько разнообразную вариацию хэша, которую подобрать будет очень сложно и наверняка, пока будут подбирать ID какого то пользователя, администратора например, пользователь уже покинет сайт и кукисы пользователя сбросится (фишка сессий в том, что при каждой её инициализации, выдается новый SESSION_ID). Так, что лучше расслабиться и не стоит беспокоится на этот счет.
 
SESSION_ID кукис имеет настолько разнообразную вариацию хэша, которую подобрать будет очень сложно и наверняка, пока будут подбирать ID какого то пользователя, администратора например, пользователь уже покинет сайт и кукисы пользователя сбросится (фишка сессий в том, что при каждой её инициализации, выдается новый SESSION_ID). Так, что лучше расслабиться и не стоит беспокоится на этот счет.
Я слышал что , взломают через какие то снифферы . это правда ?
 
Эм... Использовать SESSION вместо кук...

Собственно, этого уже достаточно - если сессия поменялась - соединение разрывается. Можно ещё пихать уникальный ключ сессии в базу и в сессию, отличается - не пускать... Но это паранойя...

+ защита через SSL

Больше ничего ты не сделаешь в любом случае. Хотя, можно извращаться с JS, но это паранойя... Если кто-то поставит цель взломать - он это сделает в любом случае.

+ контроль браузера (версия, настройки и т.д.)
 
  • Заблокирован
  • #5
Я слышал что , взломают через какие то снифферы . это правда ?
не знаю на сколько правда, но как мне известно сниферы, только умеют перехватывать пакеты с целью анализа, ну пусть пакеты перехватили... - продолжение читаем из моего первого сообщения =)
 
Вот я написал мини скрипт авторизации для адмики ..
Посмотрите пожалуйста ! скрипт уязвим ??
Я уничтожу сессию и авторизуюсь но в куках PHPSESSID остается таким как был :( .
 

Вложения

  • admin_panel.rar
    1,5 KB · Просмотры: 6
PHPSESSID - он и должен быть... Однако всё немного сложнее. Перезапусти браузер и он забутит PHPSESSID... Воткни PHPSESSID в другой браузер и ничего не произойдёт... Сессия - это не просто PHPSESSID - механизм намного сложнее.
 
Не помешает привязать всё же сессию к ip, могут посредством XSS спереть файл кукис, подставить и зайти со всеми вытекающими оттуда последствиями, не нужно никаких расшифровок и паролей, просто подмена кукиса.
Либо к браузеру/компьютеру/системе, можно это всё в md5 обернуть и проверять вместе с ip адресом.
 
Не помешает привязать всё же сессию к ip, могут посредством XSS спереть файл кукис, подставить и зайти со всеми вытекающими оттуда последствиями, не нужно никаких расшифровок и паролей, просто подмена кукиса.
Как это сделать ?
Может поставить время жизни куки ?
 
Как это сделать ?
Может поставить время жизни куки ?
На сервере:
PHP:
при логине:
$_SESSION["userip"]=$_SERVER["HTTP_X_FORWARDED_FOR"];

В самом коде если юзер залогинен то:
$userip=$_SERVER["HTTP_X_FORWARDED_FOR"];
if ($userip!=$_SESSION["userip"];) { session_destroy(); }

Ещё можно замиксовать туда же $_SERVER["HTTP_USER_AGENT"] оно вернет информацию с какого браузера пользователь, с какой операционной системы
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху