通过在相关的 Set-cookie 指令中设置HttpOnly
标志,它通过阻止对 cookie 值的微不足道的捕获,使某些客户端攻击(如跨站点脚本(更难被利用。
此外,通过在相关的 Set-cookie 指令中设置secure
标志,它通过确保 cookie 永远不会通过未加密的通信传输来防止 cookie 被中间攻击的人拦截。
我知道这些可以通过使用nginx_cookie_flag_module
并在我的nginx配置中添加set_cookie_flag HttpOnly secure;
来实现。
然而,根据这个nginx产品页面:
饼干标志
在"Set-Cookie"上游响应标头中为 cookie 设置标志"HttpOnly"、"secure"和"SameSite"。
支持详细信息:由NGINX,Inc.为活跃的NGINX Plus订阅者提供支持。
因此,除了订阅NGINX Plus以获得此功能之外,还有其他方法来设置HttpOnly和安全标志吗?
背景 - 我在NGINX 1.10.3反向代理后面运行带有PHP-FPM-FCGI 7.1.19的Wordpress 4.9.6。
TL;博士
如何在没有NGINX Plus订阅的情况下在Wordpress的Set-Cookie响应头上设置HttpOnly和安全标志?
发现这可以直接从Wordpress上游完成。
将以下行添加到 wp-config.php 的顶部:
@ini_set('session.cookie_httponly', true);
@ini_set('session.cookie_secure', true);
@ini_set('session.use_only_cookies', true);
然后重新启动 Wordpress。