【问题标题】:Content Security Policy is Blocking URI in Allowed Domain内容安全策略在允许的域中阻止 URI
【发布时间】:2020-10-19 15:21:20
【问题描述】:

我在.htaccess 文件中设置了以下内容安全策略:

default-src 'none'; \
        form-action 'self'; \
        frame-ancestors 'none'; \
        font-src 'self' data: fonts.gstatic.com *.fontawesome.com; \
        img-src 'self' data: www.google-analytics.com www.facebook.com; \
        script-src 'self' 'unsafe-inline' www.google-analytics.com ssl.google-analytics.com www.google.com www.gstatic.com ajax.cloudflare.com www.googletagmanager.com connect.facebook.net *.fontawesome.com; \
        style-src 'self' 'unsafe-inline' fonts.googleapis.com *.fontawesome.com; \
        connect-src 'self' www.google-analytics.com *.fontawesome.com; \
        frame-src www.google.com; \
        base-uri 'none'; \
        report-uri /csp-report.php

当我访问该站点时,我在开发人员工具控制台中没有收到任何 CSP 消息。但是,我通过我的report-uri 收到这样的报告:

blocked-uri: https://www.google-analytics.com/analytics.js
document-uri: https://URL.com/
original-policy: default-src 'none'; form-action 'self'; frame-ancestors 'none'; font-src 'self' data: https://fonts.gstatic.com https://*.fontawesome.com; img-src 'self' data: https://www.google-analytics.com https://www.facebook.com; script-src 'self' 'unsafe-inline' https://www.google-analytics.com https://ssl.google-analytics.com https://www.google.com https://www.gstatic.com https://ajax.cloudflare.com https://www.googletagmanager.com https://connect.facebook.net https://*.fontawesome.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://*.fontawesome.com; connect-src 'self' https://www.google-analytics.com https://*.fontawesome.com; frame-src https://www.google.com; base-uri 'none'; report-uri https://URL.com/csp-report.php
referrer:
violated-directive: script-src

被阻止的总是相同的 URI,https://www.google-analytics.com/analytics.js,我不知道为什么。这是因为用户端阻止了 Google Analytics 吗?

【问题讨论】:

  • 我想知道 Google 脚本是否反过来尝试从不同的 URL 加载不同的脚本。查看 script-src 的 strict-dynamic 设置
  • 很遗憾,运行我的网站的软件无法与strict-dynamic 一起使用。如果它试图加载不同的脚本,它在我对任何浏览器或操作系统的测试中从未这样做过。我偶尔会收到报告,但无法复制这种行为。
  • 您的浏览器是否运行任何插件?尝试将它们全部关闭,看看是否有任何改变
  • 我无法通过任何浏览器在本地复制结果,无论是否有附加组件/扩展。
  • @kmlucy 你解决过这个问题吗!?

标签: content-security-policy


【解决方案1】:

我有同样的问题。我能够根据 SO answer 将其追溯到浏览器扩展。

TL;DR;是浏览器扩展加载了谷歌分析并且它们被 CSP 阻止,但它显示好像它来自您的网站。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2021-05-30
    • 2021-08-21
    • 2021-09-19
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    相关资源
    最近更新 更多