0

假设我们有两个站点:ABA/embed?code=dummyiframeB加载到的页面 url 。

我如何知道A页面是否加载到B而不是其他站点?我只想在服务器站点上检查这个(如果加载A的站点不是B,则不会加载页面)。

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

有没有更好的选择?也许不使用iframe.

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

4

1 回答 1

1

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

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

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

3) 如果您可以修改站点B文件,站点AB都可以根据日期/时间生成一些密钥,并且B会将其作为 get 参数传递给A/embed?code=dummy&tok=...,那么A仅在密钥正常时才会响应。

于 2013-10-15T13:34:56.803 回答