Craft CMS 的内容安全策略管理器

安装: 94

依赖项: 0

建议者: 0

安全性: 0

星标: 5

关注者: 1

分支: 0

开放问题: 0

类型:craft-plugin

1.3.0 2024-09-17 12:25 UTC

This package is auto-updated.

Last update: 2024-09-17 12:32:33 UTC


README

Craft CMS 的内容安全策略管理器。

Screenshot

要求

此插件需要 Craft CMS 4.0.0 或更高版本。

安装

composer require cloudgrayau/csp

CSP 概述

CSP 是 Craft CMS 的内容安全策略和 HTTP 标头响应管理器。

SEOmatic 兼容性

此插件与 SEOmatic 插件设置(常规)中“自动渲染启用”生成的任何非ces 100% 兼容。为确保兼容性,请在 SEOmatic 插件设置(标签)中将“<script> 标签的非ces”设置为“响应头”。

请注意;SEOmatic 内设置的任何“script-src” CSP 标签也将被应用。SEOMatic 应用的“Content-Security-Policy” HTTP 响应头将自动覆盖或删除。

Blitz 兼容性

为确保内容安全策略在启用 Blitz 缓存的情况下保持兼容,请确保在“CSP 设置(设置)”中将“CSP 模式”设置为“元标签”。

设置

可以通过“Craft CMS 设置”或使用提供的“config/csp.php”文件来配置此插件。您可以在模板中配置额外的非ces,如下所示

{# HTML #}
<script src="url/of/script.js" nonce="{{ csp('script-src') }}"></script>
<link href="url/of/style.css" rel="stylesheet" nonce="{{ csp('style-src') }}" />

{# CSS Twig tags #}
{% do view.registerCssFile(url('scss/styles.scss'), { nonce: csp('style-src') }) %}
{% do view.registerCss('<body>background:red;</body>', { nonce: csp('style-src') }) %}

{# JS Twig tags #}
{% do view.registerJsFile(url('js/site.js'), { nonce: csp('script-src') }) %}

覆盖配置

可以通过您的模板使用 twig 实时更新 CSP 配置。例如,这可以用于禁用 XHR 请求上的 CSP。

{% do craft.csp.config({'cspEnabled': false}) %}

Cloud Gray Pty Ltd 提供