获取服务器端加载iframe的页面

时间:2013-10-14 17:51:01

标签: javascript html node.js security iframe

假设我们有两个网站: A B A/embed?code=dummy 是从 B 加载到iframe的网页网址。

如何知道 A 页面是否已加载到 B 而非其他网站?我只想在服务器网站上查看此信息(如果加载 A 的网站不是B ,则不会加载该网页。)

我使用req.headers.referer返回预期结果,它是标题。我认为它可以被用户修改,这不安全。

还有更好的选择吗?也许没有使用iframe

从网站 A ,用户将获得一个嵌入代码,该代码将放在网站 B 中,所以基本上我可以访问这两个网站。

1 个答案:

答案 0 :(得分:1)

好的,我看到了这样的选择:

1)X-Frame-Options,正如您所说,在Chrome中不起作用。

2)在框架内,您可以先检查window.parent.location.href,如果是B/...,请使用ajax加载其他内容。 (相当安全,浏览器不允许随意更改location.href。)

3)如果您可以修改网站 B 文件,网站 A B 都可以生成一些密钥,具体取决于日期/时间和< strong> B 会将其作为get参数传递给A/embed?code=dummy&tok=...,然后 A 仅在密钥正常时才会响应。