最终我需要知道哪个域托管我的一个javascript文件。我已经阅读并亲身体验$_SERVER['HTTP_REFERER']
不可靠的第一手资料。我测试的前3个浏览器/计算机组合之一没有发送HTTP_REFERER
,我知道它可能是欺骗性的。我使用两种javascript方法实现了不同的解决方案。
document.referrer
和
window.location.href
我使用前者获取窗口的网址,其中有人点击了我的某个链接。我使用前者来查看我的javascript文件包含在哪个域中。到目前为止我已经对它进行了一些测试,它很好地抓住了浏览器中的URL,没有打嗝。我的问题是,两个javascript方法可靠吗?他们每次都会从浏览器返回网址,还是有使用我尚未遇到的$_SERVER['HTTP_REFERER']
的警告?
答案 0 :(得分:1)
由于浏览器或用户因隐私问题而想要隐藏此信息,因此您应该始终认为有关引荐来源URI的任何信息都不可用(或者甚至可能不可靠)。
通常,从HTTPS链接到HTTP域时,您将没有引用者信息。有关详细信息,请查看此问题:
关于使用window.location.href
,我认为它在实践中是可靠的,但仅仅因为有趣的是客户端将提供正确的信息,以便依赖于此的应用程序将按预期运行。
请记住,这仍然是客户端向您发送一些信息,因此浏览器始终会向您发送正确的信息。您无法控制它,只要相信它将根据标准中指定的内容工作。客户可能仍然决定隐瞒或以任何理由伪造它。
例如,在某些情况下,例如第三方包含脚本(也是隐私原因),浏览器可能会选择将其留空。