我有一个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>
由于某些原因,incap_ses
cookie只显示安全标志,而visid_incap
同时具有Secure
和HttpOnly
标志。
为什么特定cookie(incap_ses
(也不带HttpOnly
标志出现?
以下是解决此问题的几种方法
在edit
之前尝试always
,即always edit
还要确保在任何刚刚使用edit
的行之前列出使用always
的行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