1

可能重复:
基于 IP 和引荐来源的 PHP 重定向

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

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

或者如果可能的话,检查用户来自哪个“IP”以授予访问权限?

4

2 回答 2

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 bot 以及该操作的含义,请参阅如果存在重定向http://forums.digitalpoint.com/showthread.php?t=1210,Google bot 是否会抓取整个站点

要了解变量内部的内容以及如何在 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 的内容中

于 2012-09-29T12:47:00.680 回答
0

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

于 2012-09-29T12:50:52.080 回答