首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制网站仅在一个iframe内加载?

如何限制网站仅在一个iframe内加载?
EN

Stack Overflow用户
提问于 2020-12-30 10:18:14
回答 1查看 1.1K关注 0票数 3

我有两个网站:

  • 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以外的任何地方。

EN

回答 1

Stack Overflow用户

发布于 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,这种检查将失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65505348

复制
相关文章

相似问题

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