从 v3.3.0.beta1 开始,Discourse 实施了“strict-dynamic”内容安全策略 (CSP)。这将消除手动配置 CSP 的需求,并大大提高与标签管理器和广告等外部工具的兼容性。
作为站点管理员,您无需执行任何操作。更改将自动生效,您正在使用的任何外部脚本将继续正常工作。
主题无需更改。少数插件 [^1] 可能需要进行少量调整以兼容此更改(例如 1, 2)。
[^1]:技术上讲:那些通过 register_html_builder 或 erb 模板引入 <script> 元素的插件。
以前为兼容外部脚本而禁用 CSP 的论坛现在应该能够重新启用它,而不会出现任何问题或需要进行配置。
有关技术细节,请参阅此主题:
目前,仍然可以通过禁用“content security policy strict dynamic”站点设置来切换回旧系统。如果您有任何理由这样做,请告知我们!
从 v3.3.0.beta3 开始,我们将“strict-dynamic”关键字设为 CSP 的强制部分。已移除“content security policy strict dynamic”站点设置,并且“content security policy script src”站点设置已更新,仅存储有效值。
对于管理员,您应该可以在您站点的员工操作日志中找到“content security policy script src”站点设置的先前值(https://<site_url>/admin/logs/staff_action_logs?filters=%7B%22action_name%22%3A%22change_site_setting%22%2C%22action_id%22%3A3%2C%22subject%22%3A%22content_security_policy_script_src%22%7D - 将 <site_url> 替换为您站点的基础 URL)。