【发布时间】:2009-06-01 20:35:52
【问题描述】:
我需要确保我的网页始终位于第三方拥有的 iframe 中。该第三方使用 src="../index.php" 引用我们的登录页面。
现在我的问题是,如果我使用引荐来源网址来确保该页面是由我自己或第三方请求的,并且如果不强制重新加载第三方网站,我应该注意什么大问题的?
例如,是否有某些常见的浏览器不遵循引荐来源网址规则?
谢谢。
【问题讨论】:
我需要确保我的网页始终位于第三方拥有的 iframe 中。该第三方使用 src="../index.php" 引用我们的登录页面。
现在我的问题是,如果我使用引荐来源网址来确保该页面是由我自己或第三方请求的,并且如果不强制重新加载第三方网站,我应该注意什么大问题的?
例如,是否有某些常见的浏览器不遵循引荐来源网址规则?
谢谢。
【问题讨论】:
另外,它是REFERER,因为它在规范中不知何故拼错了。那是我的第一个 REFERER 陷阱。
【讨论】:
由于referrer spoofing,您不能使用引荐来源网址来“确保”网页总是从其他地方被调用。
【讨论】:
推荐人不是必需的。如果浏览器不提供它,那么您将陷入无休止的重定向循环。与 cookie、java 和 javascript 一样,Referrer 实际上是“自愿的”。
虽然。您可以保留 IP 和上次重定向时间的日志。修剪任何超过 5 分钟的日志,并且每 5 分钟不要重定向超过一次。您应该捕获 99.9% 的用户,但要避免其余的无限重定向循环。日志不能依赖浏览器中的任何内容(这是最初的问题),因此没有 cookie 也没有会话。一个简单的 2 列数据库表就足够了。
【讨论】:
您可以这样做的唯一方法是直接授权请求,因为引用者操纵..
您可以将请求限制为一组 IP 地址,如果您想宽松,或者要求包含的客户端/系统具有 身份验证 cookie,以用于 iframe 中显示的请求。
祝你好运
【讨论】:
即使是众所周知的格式也可能会改变...
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?)
【讨论】:
请注意,每当用户通过 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
}
【讨论】: