拒绝在我的 Web 应用程序中构建嵌入式网站

Refusal to frame embedded website within my web application

我在 Google Chrome 上查看控制台中的错误时收到以下错误消息:

拒绝框架'https://website.com,因为祖先违反了以下内容安全策略指令:“frame-ancestors 'self'”。

我正在第三方托管的虚拟机上访问它,我远程访问它以访问我的网站,其中包含嵌入式网站 https://website.com 作为示例。我已经尝试通过单独的虚拟机访问它并且它工作正常,使用相同版本的 Chrome 等。我需要在 IIS 中或网站编码本身进行更改吗?

https://website.com 发布了内容安全策略 (CSP),其指令为:frame-ancestors 'self'。这意味着该网站禁止将自己嵌入除其自身以外的所有域的框架中。

如果您是 https://website.com 站点的所有者,您可以将域添加到允许将站点嵌入框架的域:

frame-ancestors 'self' example.com another_allowed_domain.net

并确保站点不发布 HTTP 响应 header X-Frame-Options SAMEORIGIN,其作用与 frame-ancestors 'self'.

相同

如果您不是 https://website.com 站点的所有者,则无法将其嵌入 <frame><iframe><embed><object> - 这就是 CSP frame-ancestors 指令保护网页免受点击劫持的方式。