zaxbux/wn-securityheaders-plugin

轻松配置HTTP响应头以增强网站安全性。

安装: 10

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 3

类型:winter-plugin

v1.0.6 2022-07-01 22:09 UTC

This package is auto-updated.

Last update: 2024-09-29 06:14:52 UTC


README

GitHub Packagist PHP Version Support GitHub tag (latest by date) Packagist Version

这个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)。