experius / module-csp
提供基本的内容安全策略允许列表和报告被阻止的资源。
2.0.3
2022-04-15 10:29 UTC
- dev-master
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.30
- 1.2.29
- 1.2.28
- 1.2.27
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- dev-feature/SPC-3021
- dev-feature/SBAS-1452
- dev-feature/SFIN-60_adminhtml-whitelisting
- dev-bugfix/DOBO-262
- dev-feature/ARCI-143_introduce-on-off-switch
- dev-feature/DLTSM2-617
- dev-feature/expand-csp-whitelist
- dev-additional-defaults-1
This package is auto-updated.
Last update: 2024-09-16 14:44:54 UTC
README
experius/module-csp
安装
在生产环境中,请使用--keep-generated
选项
- 通过运行
composer require experius/module-csp
安装模块 - 通过运行
php bin/magento module:enable Experius_Csp
启用模块 - 通过运行
php bin/magento setup:upgrade
应用数据库更新 - 通过运行
php bin/magento cache:flush
刷新缓存
主要功能
提供基本的内容安全策略允许列表(白名单),当资源被阻止时,它将自动在Experius CSP报告表(experius_csp_report)中报告。
当发现阻止指令的报告时,将在管理后台显示错误消息以通知开发者/客户。
这些报告可以为允许此指令的指令进行白名单处理。有关示例和更多详细信息,请参阅下文“内容安全策略报告和白名单”。
重要:内容安全策略报告仅模式
在即将到来的Magento 2.4版本中,内容安全策略报告仅模式将被禁用,并将进行严格验证。
由于不正常工作,已禁用此版本的report-to。请参阅:\Experius\Csp\Plugin\Magento\Framework\App\Response\HttpInterface::beforeSetHeader
基本允许列表
目前,此模块包含一个基本的白名单,考虑为“安全”来源。
一些示例
- Google Fonts
- Google Maps
- Dotdigital / Dotmailer Chat
- Buckaroo
- 等。
有关每个指令的完整列表,请查看以下文件
etc/csp_whitelist.xml
内容安全策略报告和白名单
在Magento管理后台中可以查看创建的报告。
System > Tools > CSP reporting & whitelist
为了避免杂乱,引入了一个计数器,该计数器可以防止在许多页面浏览时表的大小过度增长。这是根据“违反的指令”、“阻止的URI”和“文档URI”进行分组的。
@TODO:[期望]考虑让“document_uri”消失,因为白名单适用于整个Magento安装(全局)。
永久地将资源添加到允许列表中
基于报告,您可以轻松地将csp_whitelist.xml文件添加到自己的模块中,完成操作后,只需删除记录即可,因为它们不再相关。有关此XML文件如何工作的更多信息,请在此处查找
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/security/content-security-policies.html
例如报告
- document_uri: https://example.com/
- referer:https://example.com/
- 违反的指令:img-src
- 原始策略:font-src fonts.googleapis.com fonts.gstatic.com https://www.gstatic.com https://fonts.gstatic.com 'self' 'unsafe-inline'; form-action 'self' 'unsafe-inline'; frame-ancestors 'self' 'unsafe-inline'; frame-src cdn.dnky.co youtube.com www.youtube.com https:/
- 阻止的URI: https://maps.gstatic.com/mapfiles/openhand_8_8.cur
- 日期:2020-06-25 16:42:23
修复
# app/code/Custom/Csp/etc/csp_whitelist
<?xml version="1.0"?>
<csp_whitelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Csp:etc/csp_whitelist.xsd">
<policies>
<policy id="img-src">
<values>
<value id="gstatic" type="host">*.gstatic.com</value>
</values>
</policy>
</policies>
</csp_whitelist>