0

场景是这样的: Parent.com 可以有一个“仅 html”文件,并且它有 iframe 和 iframe.com(我有完整的 \controll 的 php)。

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

编辑:一些解决方案建议检查推荐人,但这可以被欺骗。

4

1 回答 1

1

referer在进入真正复杂的领域之前尽可能接近。

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

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

以下可能有效...</p>

  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 地址匹配

当浏览器没有一致的 IP 地址时(例如在一组代理服务器后面,我记得这在蜂窝宽带中很常见),这会产生误报,所以我不推荐它。

于 2012-11-12T19:15:11.753 回答