php - 如何重定向到100%确保重定向后REFERRAL清理

时间:2012-05-17 10:48:42

标签: php redirect

如何重定向用户,并确保在到达名为redirect.php的页面后,HTTP_REFERER不会转移到下一页。

程序流程如下:

1)在http://example.com/index.php的页面上(包含指向redirect.php的链接)

2)用户点击redirect.php的链接,然后发送标题('Location:http://otherlocation.com/index.php');

3)我需要阻止otherlocation.com查看来自http://example.com/index.php的HTTP_REFERER

我试过了:

 header('Location:redirect.php');

这不起作用,因为HTTP_REFERER填充了第一页(http://example.com/index.php)中的值。

3 个答案:

答案 0 :(得分:2)

根据浏览器而不是服务器端

填写HTTP_REFERER

您可以尝试通过

重定向用户
<meta http-equiv="refresh" content="2;url=http://otherlocation.com/index.php" />
<script>document.location = 'http://otherlocation.com/index.php';</script>

浏览器此时不填写HTTP_REFERER(恕我直言)

在Firefox上这不起作用:(

答案 1 :(得分:0)

使用PHP重定向向浏览器发送标头请求。试试这个。

header('Location:redirect.php',true,302);
exit;

上面的代码会将HTTP_REFERRER跟踪设置为当前页面。因此从上一页删除跟踪。

答案 2 :(得分:0)

您可以使用

header("Location:redirect.php");

或者如果您想要延迟或倒计时,可以使用。

// 5 is the seconds of the delay to go to the page you've entered.

header("refresh: 5; redirect.php";