【问题标题】:Content security policy - different behaviour windows vs linux内容安全策略 - 不同的行为 windows vs linux
【发布时间】:2021-12-18 04:33:08
【问题描述】:

我有一个在 LAMP 系统上运行的 wordpress 网站。

我尝试提高安全性(我远非专家!)并添加了 CSP 标头。

Header  set Content-Security-Policy "default-src 'self'; font-src 'self' data: https://fonts.gstatic.com; frame-src https://www.google.com https://www.youtube.com; img-src 'self' https://secure.gravatar.com; script-src 'self' 'unsafe-inline' ; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; object-src 'none'"

我不明白的地方:如果我从 script-src 中删除 unsafe-inline,我的日历小部件将不再在 Windows 浏览器上加载(经过 firefox 和 chrome 测试)。但它适用于 Linux 浏览器 (Firefox)。

这是 apache2、windows 浏览器或 calender wp 插件中的错误吗?

我很困惑。 :-)

【问题讨论】:

    标签: apache browser content-security-policy


    【解决方案1】:

    它看起来不像 Apache 错误,它只是将 CSP 作为字符串发送,甚至不了解其中的内容。

    当然你可以在httpd.conf中使用一些User Agent条件,比如:

    SetEnvIfNoCase User-Agent "Linux x86_64" noCSP=1
    

    并发布依赖noCSP 标志的 CSP 以排除某些类型 od 用户代理的 CSP 标头。
    但是您可以easily 澄清这一点,并确保您拥有适用于 Windows/Linux 浏览器的相同 CSP 标头。

    我认为 WP 日历插件使用了一些内联脚本,这些脚本在没有 'unsafe-inline' 的情况下被阻止。您可以在 windows 浏览器的浏览器控制台中查看相应的 CSP 错误。

    也许您在 Linux Firefox 浏览器中禁用了 CSP(about:config 页面 -> security.csp.enable -> false)或有一些禁用 CSP 的扩展。

    【讨论】:

    • CSP 在 Linux Firefox 中启用。我运行的扩展很少 - CSP 制度中唯一的一个是实验室,但这是为网站创建标题,希望不会影响 Firefox 行为(更正:它确实 - 刚刚发现在录制网站时 csp 是disabled - 解决方案!)我已经询问插件作者他是否可以澄清他的插件中的unsafe-inline,但到目前为止没有答案。
    【解决方案2】:

    所以不同的 Windows/Linux 行为来自我的 Linux Firefox 中运行的实验室插件。 我必须与插件作者核实为什么需要unsafe-inline

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 2021-01-11
      • 2016-06-22
      相关资源
      最近更新 更多