【问题标题】:Wordpress Content Security Policy ProblemWordpress 内容安全策略问题
【发布时间】:2021-09-28 22:37:09
【问题描述】:

我们的网站基于 WordPress 工具设计并发布在 Azure 网络服务上。我们的目标是使用谷歌分析来检查流量。由于这个事实,我们页面的标题部分添加了google分析标签,导致以下错误:

拒绝加载脚本“https://www.googletagmanager.com/gtag/js?id=??”因为它违反了以下内容安全策略指令:“script-src 'self' 'unsafe-eval' 'unsafe-inline' *.msecnd.net *.google.com *.gstatic.com”。请注意,'script-src-elem' 没有显式设置,因此 'script-src' 用作备用。

我了解违反内容安全政策是主要问题。因此,我在标题中添加了元(Content-Security-Policy: script-src 'unsafe-inline') 但问题并没有消失。我将不胜感激。

【问题讨论】:

    标签: wordpress content-security-policy


    【解决方案1】:

    由于您违反了内容安全政策 (CSP),因此您已经在页面上发布了第一个 CSP。
    通过元标记(甚至通过第二个 HTTP 标头)添加第二个 CSP 不会解决问题,因为所有源都应该通过两个 CSP 才能被允许。

    因此,您必须将第一个 CSP 中的阻止源 (https://www.googletagmanager.com) 添加到 script-src 'self' 'unsafe-eval' 'unsafe-inline' *.msecnd.net *.google.com *.gstatic.com;
    检查您的 WP 是否安装了一些插件来管理 CSP,或者 CSP 是否发布在 .htaccess 文件中。

    由于您在script-src 中有'unsafe-eval' 'unsafe-inline',因此您在使用 Google 跟踪代码管理器 (GTM) 时应该没有问题。
    无论如何,您可以check CSP for your GTM-XXXXXX ID - GTM 会加载哪些附加脚本以及在您的特定情况下需要哪些令牌。

    【讨论】:

    • 感谢您的回复。您对第一个 CSP 有什么想法。是我添加的 CSP 还是导致问题的 CSP,并且似乎是自动添加的?
    • 我的意思是自动添加的 CSP。默认情况下,您的 WP 已经发布了一些 CSP - 即使没有添加元标记,此 CSP 也会导致违规。这就是为什么元标记不能按预期工作的原因。你可以检查这个“默认CSP”是否存在,教程是here
    • 我检查并在我的 http 响应中得到以下 CSP: Content-Security-Policy: default-src 'unsafe-inline' data: https: blob:; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.msecnd.net *.google.com *.gstatic.com;这是主要问题吗?我试图在 Kudo 的 wp-admin 目录中找到 .htaccess 文件,但它不存在。正常吗?
    • 是的,这是主要问题。 script-src 'self' 'unsafe-eval' 'unsafe-inline' *.msecnd.net *.google.com *.gstatic.com; 被提及为违反 CSP 的原因。 WP 中的 CSP 也可以通过header() func 在 PHP 代码中公开。您必须找到此 CSP 的发布位置并在此处添加 https://www.googletagmanager.com
    • CSP也可以发布在Azure config
    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2016-04-20
    • 2013-12-23
    • 2021-06-26
    • 2017-04-02
    • 2021-03-17
    相关资源
    最近更新 更多