Intereting Posts
Перемещение из одной таблицы в другую php-код для создания нескольких строк с настраиваемым кодом Существуют ли версии PHP или Java на стороне сервера OAuth 2? Цепочка конструктора с вызовом функции объекта в PHP Как отправить недопустимый параметр выбора в WebTestCase с помощью symfony 2.3 Сохранение переменной путем нажатия на изображение как переместить текущую запись в другую таблицу и удалить текущую запись Импортировать CSV-файл непосредственно в MySQL Finfo_file в загруженном файле для определения типа mime Переопределение метода и строгие стандарты Единичное тестирование для поддержки Unicode Обновление MongoDB: как проверить, удалось или не удалось выполнить обновление? Codeigniter: Я хотел бы создать URL-адрес пользователя для моих пользователей, когда они создадут имя пользователя Как получить все URL-адреса со страницы (php) при использовании mysql_real_escape_string ()

Захват сеанса и PHP

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

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

Session sidejacking: шифрование SSL для всего сайта.

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

Благодарю.

Solutions Collecting From Web of "Захват сеанса и PHP"

Прочитайте OWASP A3-Broken Authentication и Session Management . Также читайте о 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 который является одним из способов, с помощью которого может произойти захват сеанса . Использование файлов cookie только для HTTPS – это хороший способ обращения к OWASP A9 – Недостаточная защита транспортного уровня . Этот способ использования HTTPS иногда называют «безопасным куки», что является ужасным именем для него. Также STS – очень классная функция безопасности, но не все браузеры поддерживают ее (пока).

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

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

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