Подтвердить что ты не робот

Сессионные файлы cookie http и secure flag - как вы их устанавливаете?

Только что получил результаты аудита безопасности - все ясно, кроме двух вещей

Сессия cookie без флага http.

Сессионный cookie без установленного флага.

Приложение закодировано в php, и предложения по исправлению:

  • установить cookie cookie только с флагом только http
  • установить cookie cookie с безопасным флагом

Я рассмотрел примеры, но не полностью понял, как реализовать на сервере Linux. У меня нет доступа к файлу .ini. Можно ли установить их в файле htaccess?

В качестве альтернативы, как и где я реализую в коде?

4b9b3361

Ответ 1

Поскольку вы запрашивали .htaccess, и этот параметр PHP_INI_ALL, просто поместите это в свой .htaccess:

php_value session.cookie_httponly 1
php_value session.cookie_secure 1

Обратите внимание, что cookie сеанса будет отправляться только с запросами https. Это может стать неожиданностью, если вы потеряете сеанс на незащищенной странице http (но, как указано в комментариях, на самом деле это точка конфигурации в первую очередь...).

Ответ 2

Вы можете установить их перед отправкой заголовка. Просто добавьте эту строку ниже в свой код.

<?php
// **PREVENTING SESSION HIJACKING**
// Prevents javascript XSS attacks aimed to steal the session ID
ini_set('session.cookie_httponly', 1);

// **PREVENTING SESSION FIXATION**
// Session ID cannot be passed through URLs
ini_set('session.use_only_cookies', 1);

// Uses a secure connection (HTTPS) if possible
ini_set('session.cookie_secure', 1);