Только что получил результаты аудита безопасности – все ясно, кроме двух вещей
Сессия cookie без флага http.
Сессия cookie без установленного флага.
Приложение закодировано в php, и исправления заключаются в следующем:
Я рассмотрел примеры, но не полностью понимаю, как реализовать на сервере 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);