【问题标题】:Get the page where is loaded iframe on the server side获取服务器端加载iframe的页面
【发布时间】:2013-10-22 08:45:54
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 谷歌X-Frame-Options ALLOW-FROM url
  • @SergeSeredenko 嗯.. Chrome 不支持。这是安全的吗?

标签: javascript html node.js security iframe


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2011-08-05
    • 1970-01-01
    • 2011-08-17
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多