是否可以在重定向之前删除PHP中的引用者?

时间:2011-08-24 22:44:59

标签: php referrer

但是由于浏览器是唯一管理引用者的东西,但是我想到的是一个脚本,在将引用者重定向到他们想要去的链接之前删除它。

例如,

  

http://mywebsite.com/url.php?u=http://www.stackoverflow.com

url.php 可以删除引荐来源然后重定向。是否有可能以任何方式做到这一点?

5 个答案:

答案 0 :(得分:9)

如果您在网络服务器上运行HTTPS,实际上可以在实践中执行此操作。您需要强制连接通过HTTPS作为中介进行,因此重定向的顺序为:

  1. http://mywebsite.com/url.php?u=http://www.stackoverflow.com - >
  2. https://mywebsite.com/url.php?u=http://www.stackoverflow.com - >
  3. http://stackoverflow.com
  4. Most browsers don't send a referrer in cases like that,以避免泄露私密信息并通过不安全渠道加密到无关的第三方。


    无论如何,

    更新browsers now support this properly,带有元标记。您可以添加:

    <meta name="referrer" content="never">
    

    一般情况下,您应该在 all 页面上设置此选项,因此客户端和服务器端重定向都可以。

答案 1 :(得分:1)

引用来自浏览器,您已经表明了解。

这对你来说很简单,你可以写一个快速测试。

理论上,如果您重定向到再次重定向的脚本,则引用者将成为重定向器脚本而不是原始脚本。

如果你问你的脚本是否可以“隐形”重定向 - 那么不,这是在脚本控制范围之外。

答案 2 :(得分:0)

将用户发送到包含META刷新标签的HTML页面

<meta http-equiv="refresh" content="0;URL=http:/redirect.com">

答案 3 :(得分:-1)

如果你的重定向是HTTP重定向,那么,不,你无法控制它。

坦率地说,你也不应该这样做。浏览器的业务是形成REFERER值,而不是你的。

答案 4 :(得分:-7)

试试这段代码:

$url = 'your target';
header("HTTP/1.1 301 Moved Permanently");
header( "Location: $url" );