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

Тема в разделе "Как сделать...", создана пользователем The_Wolf, 23 мар 2014.

Статус темы:
Закрыта.
  1. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    Как можно защищать сессию от хака (сделать ID уникальным) ??
    Пароль хранить в сессию не предлагать :)
     
  2. yurets86

    yurets86 Постоялец

    Заблокирован
    Регистр.:
    25 сен 2011
    Сообщения:
    136
    Симпатии:
    32
    SESSION_ID кукис имеет настолько разнообразную вариацию хэша, которую подобрать будет очень сложно и наверняка, пока будут подбирать ID какого то пользователя, администратора например, пользователь уже покинет сайт и кукисы пользователя сбросится (фишка сессий в том, что при каждой её инициализации, выдается новый SESSION_ID). Так, что лучше расслабиться и не стоит беспокоится на этот счет.
     
    The_Wolf нравится это.
  3. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    Я слышал что , взломают через какие то снифферы . это правда ?
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.035
    Симпатии:
    2.034
    Эм... Использовать SESSION вместо кук...

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

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

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

    + контроль браузера (версия, настройки и т.д.)
     
    The_Wolf нравится это.
  5. yurets86

    yurets86 Постоялец

    Заблокирован
    Регистр.:
    25 сен 2011
    Сообщения:
    136
    Симпатии:
    32
    не знаю на сколько правда, но как мне известно сниферы, только умеют перехватывать пакеты с целью анализа, ну пусть пакеты перехватили... - продолжение читаем из моего первого сообщения =)
     
    The_Wolf нравится это.
  6. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    Вот я написал мини скрипт авторизации для адмики ..
    Посмотрите пожалуйста ! скрипт уязвим ??
    Я уничтожу сессию и авторизуюсь но в куках PHPSESSID остается таким как был :( .
     

    Вложения:

    • admin_panel.rar
      Размер файла:
      1,5 КБ
      Просмотров:
      6
  7. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.035
    Симпатии:
    2.034
    PHPSESSID - он и должен быть... Однако всё немного сложнее. Перезапусти браузер и он забутит PHPSESSID... Воткни PHPSESSID в другой браузер и ничего не произойдёт... Сессия - это не просто PHPSESSID - механизм намного сложнее.
     
    The_Wolf нравится это.
  8. ishkval

    ishkval Постоялец

    Регистр.:
    2 окт 2013
    Сообщения:
    102
    Симпатии:
    35
    Не помешает привязать всё же сессию к ip, могут посредством XSS спереть файл кукис, подставить и зайти со всеми вытекающими оттуда последствиями, не нужно никаких расшифровок и паролей, просто подмена кукиса.
    Либо к браузеру/компьютеру/системе, можно это всё в md5 обернуть и проверять вместе с ip адресом.
     
  9. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    Как это сделать ?
    Может поставить время жизни куки ?
     
  10. ishkval

    ishkval Постоялец

    Регистр.:
    2 окт 2013
    Сообщения:
    102
    Симпатии:
    35
    На сервере:
    PHP:
    при логине:
    $_SESSION["userip"]=$_SERVER["HTTP_X_FORWARDED_FOR"];

    В самом коде если юзер залогинен то:
    $userip=$_SERVER["HTTP_X_FORWARDED_FOR"];
    if (
    $userip!=$_SESSION["userip"];) { session_destroy(); }
    Ещё можно замиксовать туда же $_SERVER["HTTP_USER_AGENT"] оно вернет информацию с какого браузера пользователь, с какой операционной системы
     
    Последнее редактирование: 24 мар 2014
    The_Wolf нравится это.
Статус темы:
Закрыта.