Угон сессий и PHP - PullRequest
       20

Угон сессий и PHP

11 голосов
/ 19 августа 2010

Давайте просто рассмотрим доверие, которое сервер имеет к пользователю.

Фиксация сеанса: Чтобы избежать фиксации, я использую session_regenerate_id() ТОЛЬКО в аутентификации (login.php)

Сеанс джекджинг: SSL-шифрование для всего сайта.

Я в безопасности?

Ответы [ 3 ]

28 голосов
/ 19 августа 2010

Чтение OWASP А3-сломанная аутентификация и управление сеансами .Также читайте о OWASP A5-CSRF , который иногда называют «сессионной ездой».

Вы должны использовать этот код в заголовочном файле php:

ini_set('session.cookie_secure',1);
ini_set('session.cookie_httponly',1);
ini_set('session.use_only_cookies',1);
session_start();

Этот код предотвращает фиксацию сеанса .Это также помогает защитить от xss от доступа document.cookie, который может быть Session Hijacking .Применение cookie-файлов только для HTTPS - хороший способ решения проблемы недостаточной защиты транспортного уровня * OWASP A9 .Этот способ использования HTTPS иногда называют «безопасными файлами cookie», что является ужасным названием для него.Также STS - очень полезная функция безопасности, но не все браузеры ее поддерживают (пока).

2 голосов
/ 19 августа 2010

Я бы также предложил хранить информацию о пользовательском агенте и IP-адресе в сеансе и проверять ее при каждом запросе. Это не пуленепробиваемый, но это довольно значительное повышение надежности. В то время как подделка UA действительно проста, подделка IP, хотя и возможна, НАМНОГО сложнее ... Но у вас могут быть проблемы с пользователями, которые стоят за системой кругового IP, такими как пользователи AOL ...

0 голосов
/ 19 августа 2010

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

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

...