如何使用header referrer重定向或允许访问站点

时间:2012-09-29 12:44:52

标签: php javascript redirect header

  

可能重复:
  PHP redirect based on IP AND referrer

如果用户从另一个位置访问该网站,是否可以重定向用户,我想要做的是当用户从谷歌访问该网站时,他将被重定向到主网站,但如果他从来自"主要网站的链接" ,将出现一个弹出窗口,其中包含受限制的站点,但由于用户来自"主站点"他将获准进入。

任何php或javascript都可以,只要它会检查用户是否来自主站点。

或者如果可能的话,检查" IP"用户来自授予访问权限?

2 个答案:

答案 0 :(得分:0)

可以使用header()方法完成重定向用户,并为新目标设置“Location:”标头。条件可以通过评估客户端发送的Referer Header来表示,这应该在其中一个PHP系统变量中可用,请参阅http://php.net/manual/en/reserved.variables.server.php

有些事情:

if (preg_match("/your-domain/",$_SERVER['HTTP_REFERER']) {
  header('Location: /hidden_page.html');
} else {
  header('Location: /');
}

应该做的伎俩。

要重定向Google僵尸程序及其操作的影响,请参阅Does Google bot crawl entire site if there is a redirecthttp://forums.digitalpoint.com/showthread.php?t=1210

要弄清楚变量中的内容以及如何在PHP中使用正则表达式,请使用此示例代码

<pre>
<?php 
    echo $_SERVER['HTTP_REFERER']."\n";
    echo $_SERVER['REMOTE_ADDR']."\n";

if (preg_match("/188.174.82.97/",$_SERVER['REMOTE_ADDR'])) {
        echo "Yes";
    } else {
        echo "No";
    }
?>
</pre>

在您的脚本中或类似phpfiddle.org

答案 1 :(得分:0)

检查条件中的$ _SERVER ['HTTP_REFERER']变量以查看用户的referrer实际是什么,然后使用header()方法实际重定向到另一个URL。