我可以限制父(仅限html)访问不同域上的我的子iframe(PHP)吗?

时间:2012-11-12 18:58:42

标签: html cors verify

情景是这样的: Parent.com可以有一个'仅限HTML'文件 它有iframe的iframe(我有完全\控制的php)。

问题是这样的: 如何检查iframe.com是否仅由父级加载而且不能由其他域

加载

编辑:某些解决方案建议检查推荐人,但这可能是欺骗性的。

1 个答案:

答案 0 :(得分:1)

在进入非常复杂的领域之前,

referer尽可能接近。

虽然它可以被欺骗,但它只能被客户欺骗。第三方网站无法让客户欺骗它。

尽管如此,referer是可选的。浏览器不必发送它,并且它们往往不会在很多情况下(例如通过HTTPS提供引用文档时)。

以下可能会工作......

  1. iframe.example.com使用服务器端代码从framed.example.net请求令牌,该请求包括浏览器的IP地址和授权iframe.example.com构建框架framed.example.net的密码
  2. framed.example.net生成一个令牌并将其提供给iframe.example.com,并将其注册到浏览器的IP地址
  3. iframe.example.com在查询字符串中生成带有令牌的URI,并将其用作iframe的src
  4. framed.example.net检查令牌是否存在,并且记录中的IP地址与请求来自的ip地址(浏览器)匹配
  5. 当浏览器没有一致的IP地址时(例如在一组代理服务器后面,我似乎记得在蜂窝宽带中很常见),这会产生漏报,所以我不推荐它