我有两个网站:
https://exampleiframe.com (第三方网站),https://example.com (我的网站)我想限制https://example.com只在https://exampleiframe.com的iframe内部加载
我在https://example.com的响应头中在CSP下面添加了فاث。
"Content-Security-Policy": "frame-ancestors 'self' https://exampleiframe.com"
此策略仅限制来自iframe的请求。但我不想加载这个网址(https://example.com)除了这个iframe以外的任何地方。
发布于 2021-01-01 15:47:25
如果您希望限制通过Url直接访问页面,并且只允许在iframe中显示它--这是无法用CSP解决的。CSP只限制用于框架的Urls (您显示了正确的CSP )。
但是您可以使用JavaScript,如果self === top执行重定向到/not_allowed Url的话。
Myy可以使用一些data-属性,比如<iframe data-access='framed' src=''></iframe>,并在iframe中通过JS检查这个属性(如果可以访问)。直接网址将没有这样的data-属性。
但是,对于禁用的javascript,这种检查将失败。
https://stackoverflow.com/questions/65505348
复制相似问题