我试图将我的内容加载到一个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?。
发布于 2021-09-02 00:27:02
Chrome有一个错误 --它不支持frame-ancestors指令中的路径。Safari nas是同一个bug,而且只有激光Firefox支持这个指令中的路径。
因此,对于frame-ancestors而不是http://.example.com/abc.html,您必须使用http://.example.com主机源。
对于其他指令,您可以使用路径和文件名。
发布于 2021-09-03 04:33:22
如果没有一个有效的例子,就很难确切地知道问题是什么。但是,根据规范https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors,可以建议对您的CSP进行一些调整:
https://stackoverflow.com/questions/69017660
复制相似问题