为方便起见,我的CMS链接到其他网站,我想隐藏引用,以便其他网站看不到我的CMS的目录和查询字符串。我现在有CMS链接到我的服务器上的PHP文件elswhere,然后通过header()重定向到链接,但引用仍然来自我的CMS,而不是来自链接PHP。此外......
header("Referer: nowhere");
header("Location: $_REQUEST[urltolinkto]");
......似乎没有任何改变。无论我把它作为引用者,它总是来自我的CMS,用户实际上点击了链接。
可以更改引用(链接PHP),还是必须使用javascript或元刷新?
答案 0 :(得分:9)
Referer
标头是浏览器发送给服务器的内容。您正在将respose从服务器更改为浏览器,因此不会以这种方式工作(与Cookie标头不同)。据我所知,在发送Referer时,浏览器的行为没有服务器端控制。
答案 1 :(得分:2)
浏览器确实可以选择要发送的引荐来源,但有很多方法可以解决。
HTML5添加了meta referrer,大多数现代浏览器都会尊重它。只需添加
<meta name="referrer" content="no-referrer">
到您网站的头部。
还有重定向服务和其他黑客来隐藏引用(https重定向,iframe tricks和其他)。
答案 2 :(得分:-1)
您不能真正从服务器端更改引用,因为浏览器将它提供给服务器。
但是您可以使用href.li之类的服务,只需使用
https://href.li/?http://<your-url>
注意:http://之后?很重要,否则它将不会重定向。