首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内容安全策略框架-祖先

内容安全策略框架-祖先
EN

Stack Overflow用户
提问于 2021-09-01 16:37:09
回答 2查看 17.8K关注 0票数 3

我试图将我的内容加载到一个IFrame中,所以我实现了内容-安全-策略头:内容-安全性-策略:框架-祖先.example.com/abc.html .

当我将标题作为内容-安全性-策略:框架-祖先.example.com/时,我能够在iframe上加载内容。

但是当我将标题更改为::框架-祖先self .example.com/abc.html .时。然后,iframe上的内容将首次加载,但当我刷新网页时会出现以下错误

拒绝在框架中显示“https://....”,因为祖先违反了以下内容安全策略指令:框架祖先自.example.com/abc.html .

有人能告诉我为什么在刷新页面时会出现错误。框架祖先也会考虑完整的url (http://_.example.com/abc.html),或者只考虑主机名,比如http://_.example.com?

EN

回答 2

Stack Overflow用户

发布于 2021-09-02 00:27:02

Chrome有一个错误 --它不支持frame-ancestors指令中的路径。Safari nas是同一个bug,而且只有激光Firefox支持这个指令中的路径。

因此,对于frame-ancestors而不是http://.example.com/abc.html,您必须使用http://.example.com主机源。

对于其他指令,您可以使用路径和文件名。

票数 6
EN

Stack Overflow用户

发布于 2021-09-03 04:33:22

如果没有一个有效的例子,就很难确切地知道问题是什么。但是,根据规范https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors,可以建议对您的CSP进行一些调整:

  • 移除路径,不按规范使用多于方案、主机和端口。
  • 使用预期的方案(http/https)或删除该方案。
  • 使用通配符.example.com,而不仅仅是https://.example.com
  • 使用“自我”,而不是“自我”
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69017660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档