检测重定向的访问者

时间:2012-03-09 20:48:31

标签: php javascript redirect

以下是该方案:

Page1.php的访问者正在使用JavaScript重定向到Page2.php

如果我不使用任何语言的任何会话和变量,是否可以通过监控Page2.php来了解登陆Page2.php的访问者是重定向的访问者?

不做/不使用:

  • 网址操作
  • Cookie
  • 会话
  • 任何类型的变量
  • 绝对没有更改Page1.php

我问这个是因为我不希望其他网站检测到我已将用户重定向到他们的网站。

我只是想知道这种可能性。

3 个答案:

答案 0 :(得分:1)

重定向时,只需在查询字符串中设置一个标志(将查询字符串附加到重定向位置):

  

Page2.php?redirect=1

或者如果您需要推荐页面:

  

Page2.php?referer=Page1.php

然后查看$_GET['referer']

您可以阅读$_SERVER['HTTP_REFERER'],但我个人倾向于避免使用它,因为它并不总是包含您认为它应该包含的内容。

答案 1 :(得分:1)

如果您不想使用服务器端语言,则唯一的选择是JavaScript。您可以重定向到Page2.php?redirected=true并使用以下代码GET Page2.php上的重定向变量。

var $_GET = {};

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s.split("+").join(" "));
    }

    $_GET[decode(arguments[1])] = decode(arguments[2]);
});

if($_GET['redirected']){
   // Redirected from Page1.php!
}

来源:how to get GET and POST variables with JQuery?

答案 2 :(得分:1)

执行重定向时,在初始页面上设置javascript cookie。

在新页面上,检查cookie是否已设置,然后将其删除。