Apache: файл cookie incap_ses_* является безопасным, но не HttpOnly, тогда как visid_incap_* имеет оба флага

У меня есть сервер Apache, на котором размещена веб-страница Wordpress. Я изменил свой mod_headers, чтобы установить флаг Secure и HttpOnly для всех файлов cookie. Моя конфигурация выглядит следующим образом:

<IfModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
    Header always append X-Frame-Options SAMEORIGIN
    Header set X-Content-Type-Options nosniff
    Header set Referrer-Policy "no-referrer-when-downgrade"
    Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
</IfModule>

По какой-то причине cookie incap_ses отображается только с флагом Secure, а visid_incap имеет флаги Secure и HttpOnly.

Есть ли причина, по которой этот конкретный файл cookie (incap_ses) также не отображается с флагом HttpOnly?


person Jacobo    schedule 12.01.2021    source источник


Ответы (1)


Вот несколько способов исправить это.
Попробуйте поставить always перед edit, т. е. always edit
Также убедитесь, что вы указываете строку, в которой используется always, перед строками, в которых только что использовалось edit
Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure"

Но лучше всего было бы обрабатывать это в файле PHP. Затем добавьте что-то подобное в файл .htaccess.

Header set Set-Cookie HttpOnly;Secure
# END WordPress
# BEGIN HttpHeaders
php_flag session.cookie_httponly on
php_flag session.cookie_secure on
# END HttpHeadersCookie
person Nicholas Cappello    schedule 12.01.2021