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

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

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

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

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

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

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

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

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

php_value session.cookie_httponly 1 php_value session.cookie_secure 1 

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

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

 <?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);