可能重复:
基于 IP 和引荐来源的 PHP 重定向
如果用户从另一个位置访问该站点,是否可以重定向用户,我想要做的是当用户从谷歌访问该站点时,他将被重定向到主站点,但如果他从链接访问该网站来自“主站点”,将出现一个弹出窗口,其中包含受限站点,但由于用户来自“主站点”,他将被授予访问权限。
任何 php 或 javascript 都可以,只要它会检查用户是否来自主站点。
或者如果可能的话,检查用户来自哪个“IP”以授予访问权限?
可能重复:
基于 IP 和引荐来源的 PHP 重定向
如果用户从另一个位置访问该站点,是否可以重定向用户,我想要做的是当用户从谷歌访问该站点时,他将被重定向到主站点,但如果他从链接访问该网站来自“主站点”,将出现一个弹出窗口,其中包含受限站点,但由于用户来自“主站点”,他将被授予访问权限。
任何 php 或 javascript 都可以,只要它会检查用户是否来自主站点。
或者如果可能的话,检查用户来自哪个“IP”以授予访问权限?
重定向用户可以使用 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 的内容中
检查条件中的 $_SERVER['HTTP_REFERER'] 变量以查看用户的引荐来源实际上是什么,然后使用 header() 方法实际重定向到另一个 URL。