2

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

程序流程如下:

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

2) 用户点击redirect.php的链接,它会发送header('Location: http://otherlocation.com/index.php ');

3)我需要防止 otherlocation.com 从看到 HTTP_REFERERhttp://example.com/index.php

我试过了:

 header('Location:redirect.php');

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

4

3 回答 3

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这不起作用:(

于 2012-05-17T10:58:31.783 回答
0

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

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

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

于 2012-05-17T10:49:43.497 回答
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";
于 2012-05-17T10:54:34.237 回答