2013-03-10 22 views
1

我正在编写一个页面,该页面链接到另一台服务器上的一些音乐文件,该文件阻止了外部引用链接的访问。该网站还允许直接访问文件(通过在浏览器的地址栏中粘贴网址)。用PHP的外部链接隐藏引用者

经过几个小时的搜索和尝试,我正要放弃,但我发生了一件令人震惊的事情!当您通过Gmail发送链接时,通过点击它,Gmail会将您重定向到另一个页面,然后文件开始下载。我的意思是Gmail没有任何推荐人设置重定向。我怎样才能在我的代码中做到这一点?

tl; dr:当用户点击链接时,我想将用户重定向到外部URL而不发送任何引用数据!

回答

1

不幸的是,这不一致的实施。

如上所述here

  • 的HTTP引用头(HTTP-的Referer)改变在以下浏览器window.location.href当设置:
    • MSIE 9(但可能任何版本9以上)
    • Firefox(至少3.0,3.5,4.0,5.0,但最有可能是所有版本)
    • Chrome(至少9个,但很可能是所有版本)
    • Safari浏览器(至少5个,但最有可能所有版本)
    • 歌剧(至少11个,但最有可能所有版本)
  • MSIE(至少6,7,8):引荐是组变化的window.location.href

时,您可以考虑一下它是通过一个,但你仍然会看到不同的浏览器不同的结果。

另一个建议是通过您的服务器代理请求,请勿在请求时设置引用者。如果您的带宽有限,这可能是一个问题。

+0

好的,但谷歌和脸书如何做呢? – 2013-03-10 18:17:13

+0

@faridv如果我点击我主页上的链接,引用者就可见:http://i.imgur.com/cPhirel.png – Martin 2013-03-11 01:46:09