【问题标题】:HTTP Referrer Gotchas?HTTP 引荐来源网址陷阱?
【发布时间】:2009-06-01 20:35:52
【问题描述】:

我需要确保我的网页始终位于第三方拥有的 iframe 中。该第三方使用 src="../index.php" 引用我们的登录页面。

现在我的问题是,如果我使用引荐来源网址来确保该页面是由我自己或第三方请求的,并且如果不强制重新加载第三方网站,我应该注意什么大问题的?

例如,是否有某些常见的浏览器不遵循引荐来源网址规则?

谢谢。

【问题讨论】:

    标签: http referrer


    【解决方案1】:

    另外,它是REFERER,因为它在规范中不知何故拼错了。那是我的第一个 REFERER 陷阱。

    【讨论】:

      【解决方案2】:

      由于referrer spoofing,您不能使用引荐来源网址来“确保”网页总是从其他地方被调用。

      【讨论】:

      • 正确。虽然推荐人检测不是 100% 的保证,但它适用于临时用户。如果您不担心会有一两个奇怪的极客绕过它,那应该就足够了。
      【解决方案3】:

      推荐人不是必需的。如果浏览器不提供它,那么您将陷入无休止的重定向循环。与 cookie、java 和 javascript 一样,Referrer 实际上是“自愿的”。

      虽然。您可以保留 IP 和上次重定向时间的日志。修剪任何超过 5 分钟的日志,并且每 5 分钟不要重定向超过一次。您应该捕获 99.9% 的用户,但要避免其余的无限重定向循环。日志不能依赖浏览器中的任何内容(这是最初的问题),因此没有 cookie 也没有会话。一个简单的 2 列数据库表就足够了。

      【讨论】:

        【解决方案4】:

        您可以这样做的唯一方法是直接授权请求,因为引用者操纵..

        您可以将请求限制为一组 IP 地址,如果您想宽松,或者要求包含的客户端/系统具有 身份验证 cookie,以用于 iframe 中显示的请求。

        祝你好运

        【讨论】:

          【解决方案5】:

          即使是众所周知的格式也可能会改变...

          Google 显然已更改其引荐来源网址。 2009 年 4 月 14 日,An upcoming change to Google.com search referrals; Google Analytics unaffected

          从本周开始,您可能会开始为来自 Google 搜索结果页的访问者看到一种新的引荐网址格式。到目前为止,例如“花”这个词的搜索结果的点击通常是这样的:

           http://www.google.com/search?hl=en&q=flowers&btnG=Google+Search

          现在您将开始看到一些如下所示的引荐来源网址字符串:

           http://www.google.com/url?
              sa=t&source=web&ct=res&cd=7
              &url=http%3A%2F%2Fwww.example.com%2Fmypage.htm
              &ei=0SjdSa-1N5O8M_qW8dQN&rct=j
              &q=鲜花
              &usg=AFQjCNHJXSUh7Vw7oubPaO3tZOzz-F-u_w
              &sig2=X8uCFh6IoPtnwmvGMULQfw

          (另见Google is changing its referrer URLs from /search into /url. Any known issues?

          【讨论】:

            【解决方案6】:

            请注意,每当用户通过 JavaScript 导航到链接时,Internet Explorer(所有版本)都会特别省略 HTTP REFERRER。 (bug report)

            例如

            function doSomething(url){
              //save some data to the session
              //...
              location.href = url;//IE will NOT pass the HTTP REFERRER on this link
            }
            

            【讨论】:

              猜你喜欢
              • 2011-07-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-05-14
              相关资源
              最近更新 更多