什么是最可靠的清空用户的方式' HTTP_REFERER?

时间:2015-07-30 22:16:46

标签: javascript php http-referer

我有一个页面通过PHP的header()函数将用户重定向到另一个网站。但是,我想在将用户发送到该网站之前清空用户的HTTP_REFERER变量。

最可靠的方法是什么?我想PHP无法提供帮助,因为HTTP_REFERER是一个客户端变量。也许JavaScript呢?是否有轻量级的库?

3 个答案:

答案 0 :(得分:2)

仅限js的方法:

location.href="data:text/html,"+
  encodeURIComponent("<script>location.href='http://yahoo.com/'<\/script>");

即使代码确实留下了引用,也会是dataURL,而不是您的网站。

答案 1 :(得分:0)

您可以在JavaScript中检测引荐来源,但不能设置它。

您可以将它们发送到页面之间,例如在PHP中,可以设置引用来然后转发它们。

Here is the process on SO&amp; a walkthrough on using that SO link.

答案 2 :(得分:0)

唯一可靠的方法是在源和目的地之间设置某种过渡页面。

例如:example.com/var/product/1234 =&gt; example.com/redirector/google.com =&gt; google.com

这样,目标网站只会收到转换页面的链接。

如果您想完全隐藏用户来自您网站的事实,您需要将转换页面托管在其他域上。 anonym.to网站提供此类服务。但是,由于这是免费的第三方服务,您可能希望托管自己的服务,以保证可用性并防止任何可能的请求记录。实现将是大约3行PHP代码。