假设我们有两个网站: A 和 B 。 A/embed?code=dummy
是从 B 加载到iframe
的网页网址。
如何知道 A 页面是否已加载到 B 而非其他网站?我只想在服务器网站上查看此信息(如果加载 A 的网站不是B
,则不会加载该网页。)
我使用req.headers.referer
返回预期结果,但它是标题。我认为它可以被用户修改,这不安全。
还有更好的选择吗?也许没有使用iframe
。
从网站 A ,用户将获得一个嵌入代码,该代码将放在网站 B 中,所以基本上我可以访问这两个网站。
答案 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 仅在密钥正常时才会响应。