basecom / magento2-csp-split-header

将过大的内容安全策略(CSP)头部拆分成多个头部的 Magento 2 模块。

安装: 256

依赖项: 0

建议者: 0

安全: 0

星标: 31

关注者: 3

分支: 1

开放问题: 0

类型:magento2-module

1.0.5 2024-08-27 07:20 UTC

This package is auto-updated.

Last update: 2024-09-13 19:03:55 UTC


README

Packagist Software License Supported Magento Versions

重要

从 Magento 2.4.7 版本开始,无法再禁用 Magento CSP 模块。

随着内容安全策略(CSP)白名单的不断增长,可能会出现问题,即头部 Content-Security-Policy-Report-Only 和/或 Content-Security-Policy 变得非常大,以至于超过了头部字段的允许最大大小,导致 Web 服务器无法进一步处理响应。

CSP 机制允许为资源指定多个策略,包括通过 Content-Security-Policy 头部、Content-Security-Policy-Report-Only 头部和 meta 元素 [MDN]。因此,头部可以指定多次。

模块在这里发挥作用。它实现了对方法 Magento\Csp\Model\Policy\Renderer\SimplePolicyHeaderRenderer::renderafter 方法插件,该方法通过方法 \Magento\Framework\App\Response\HttpInterface::setHeader 替换现有的 CSP 头部。读取头部,将其拆分以保持语法有效,并用新头部替换。结果是每个指令都有单独的头部,每个头部都不应超过 Web 服务器允许的最大长度。

提示

如果即使拆分后头部仍然太大,请尝试识别不必要的 Magento 模块并删除它们。

安装

  1. 使用 composer 将其安装到您的 Magento 2 项目中

    composer require basecom/magento2-csp-split-header
  2. 启用模块

    bin/magento setup:upgrade

配置

这些值可以在系统配置的以下位置更新: Basecom -> 内容安全策略 -> 启用

示例

  1. CSP 拆分 禁用

    Content-Security-Policy: default-src 'self' https://example.com; connect-src 'none'; script-src https://example.com/;                          
  2. CSP 拆分 启用

    Content-Security-Policy: default-src 'self' https://example.com; 
    Content-Security-Policy: connect-src 'none'; 
    Content-Security-Policy: script-src https://example.com/;                          

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何与安全相关的问题,请通过电子邮件 magento@basecom.de 而不是使用问题跟踪器。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件

版权

© 2024 basecom GmbH & Co. KG