zaxbux / wn-securityheaders-plugin
轻松配置HTTP响应头以增强网站安全性。
v1.0.6
2022-07-01 22:09 UTC
Requires
- php: ^7.4
- composer/installers: ~1.0
README
这个Winter CMS插件允许您管理应用的各种安全HTTP头。
在 securityheaders.com 查看您的得分
CSP Nonce
此插件为每个HTTP响应生成一个加密的nonce(128位,base64编码)。要使用CSP nonce,请启用CSP指令的'nonce'源,并在要应用nonce的布局或页面上包含CSPNonce组件。一个名为csp_conce的页面变量将包含base64编码的nonce。
<script nonce="{{ csp_nonce }}">
// ...
</script>
如果出现问题
如果内容安全策略(CSP)头或严格传输安全(HSTS)头设置不当,启用它们可能会破坏您的网站。在每种情况下,都有一个命令可以禁用这些头。
从控制台禁用CSP
artisan securityheaders:disable_csp
从控制台禁用HSTS
artisan securityheaders:disable_hsts
控制器中的头
不同的头应用于不同的路由,基于使用的控制器。系统(System)和后端(Backend)控制器具有有限的安全头,以避免破坏功能。例如,后端需要添加unsafe-inline指令,从而使CSP策略变得无意义,因此不添加该头。
系统
System\Classes\SystemController控制器处理资产合并。这些是可能发送的头
- Strict-Transport-Security
- X-Frame-Options
- X-Content-Type-Options
- X-XSS-Protection
后端
Backend\Classes\BackendController控制器处理后端CMS。这些是可能发送的头
- Strict-Transport-Security
- X-Frame-Options
- X-Content-Type-Options
- X-XSS-Protection
CMS
Cms\Classes\CmsController控制器处理前端。这些是可能发送的头
- Strict-Transport-Security
- Referrer-Policy
- Content-Security-Policy
- X-Frame-Options
- X-Content-Type-Options
- X-XSS-Protection
- Feature-Policy
过时头
这些头可用于配置,以支持旧版浏览器,但如果只支持当前浏览器版本,则不建议使用。
X-Frame-Options
由于CSP Level 2的frame-ancestors指令支持浏览器,X-Frame-Options
头已被弃用。
X-XSS-Protection
此头是非标准的,并且大多数浏览器已移除(或永远不会存在)对该头支持。您可以使用内容安全策略
实现更好的保护。目前支持IE 11和Safari(caniuse.com)。