【问题标题】:content security policy: allow site A to embed content from site B (csp blocked error appears on site A)内容安全策略:允许站点 A 嵌入站点 B 的内容(站点 A 上出现 csp 阻止错误)
【发布时间】:2020-06-22 20:44:44
【问题描述】:

我们的一台服务器 (VideoServer) 最近更改了其配置。从那时起,我在从 FrontEndServer 提供的页面中遇到内容安全策略错误,这些页面具有来自 VideoServer

的嵌入式 iframe

我什至暂时将 FrontEndServer 的 httpd 配置设置为只有以下标头:Header always append X-Frame-Options ALLOW,请务必在更改后重新启动 httpd 服务。

FrontEndServer查看前端内容时继续报CSP错误:

Blocked by Content Security Policy

An error occurred during a connection to VideoServer. 

是否可以配置VideoServer's CSP 策略,使FrontEndServer 在尝试从VideoServer 进行 iframe 内容时会收到 CSP 阻止错误?我不希望这种情况发生,我正在努力追查问题所在。

【问题讨论】:

    标签: apache content-security-policy


    【解决方案1】:

    通过更仔细地阅读文档对此进行了排序。我需要配置VideoServer 以允许特定的外部站点(例如FrontEndServer)显示它的内容。这由frame-ancestors 选项处理。

    FrontEndServer 配置: (请注意,我们知道内联样式/脚本 - 这是一个遗留网站,因此需要做很多工作)

    Header set Content-Security-Policy "frame-ancestors 'self' ursula.genetics.emory.edu https://www.googletagmanager.com https://www.google-analytics.com https://browser-update.org ; script-src 'self' 'unsafe-inline' https://googletagmanager.com https://browser-update.org https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; default-src 'self' 'unsafe-inline'; frame-src 'self' VideoServerURL; "
    Header set X-XSS-Protection: "1; mode=block"
    Header set X-Content-Type-Options: nosniff
    Header set X-WebKit?-CSP: "default-src 'self'"
    Header set X-Permitted-Cross-Domain-Policies: "master-only"
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
    

    VideoServer 配置:

    Header set Content-Security-Policy "frame-ancestors 'self' FrontEndServerURL;"
    Header set X-XSS-Protection: "1; mode=block"
    Header set X-Content-Type-Options: nosniff
    Header set X-WebKit-CSP: "default-src 'self'"
    Header set X-Permitted-Cross-Domain-Policies: "master-only"
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains
    

    希望其他人发现这个有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      相关资源
      最近更新 更多