重定向时更改引用者

时间:2011-02-11 03:02:36

标签: php

我要做的是使用PHP从网站A重定向到网站B(两者都是不同的域),但我希望HTTP标头中的引荐来源设置为网站A(页面执行重定向)。因此,也就是说,网站B将网站A视为推荐人。

3 个答案:

答案 0 :(得分:3)

您可以在网站A上使用<meta http-equiv="refresh" content="1;url=http://siteb.net">之类的内容。

答案 1 :(得分:1)

我很确定发送引荐来源最终取决于网络浏览器,而不是PHP。 您可以通过$_GET发送地址。

编辑:您将无法更改引荐来源(误读帖子,derp)。

答案 2 :(得分:0)

我已经使用localhost和虚拟脚本进行了检查。即使在重定向时,浏览器也会在HTTP中发送引用。

为了测试这个,我创建了一个名为testRefererRedirect.php的脚本:

<?php

if($_GET['a']){

    if($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != 'off'){

        echo $_SERVER['HTTP_REFERER'];

    }else{

        header('Location: https://localhost/testrefererredirect.php?a=1');

    }

}else{

    echo '<a href="testrefererredirect.php?a=1">test</a>';

}

为了模拟跨域,我使用HTTP和HTTPS作为本地服务器。

首次加载时,页面将显示一个链接:我将单击此链接以允许浏览器在标题中发送引用。接下来,因为我最初在HTTP中加载页面,所以将调用头函数。最后,第二步的HTTP referer标题出现在第3步。

结论

如果您在网站A上进行重定向,您可以安全地使用网站B上的$_SERVER['HTTP_REFERER']来捕获针对网站A的参考信息。