Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果没有推荐人,则重定向,并在流量中重定向类型_Php_Redirect - Fatal编程技术网

Php 如果没有推荐人,则重定向,并在流量中重定向类型

Php 如果没有推荐人,则重定向,并在流量中重定向类型,php,redirect,Php,Redirect,如果用户在没有推荐人的情况下访问页面,或者如果用户直接输入我的页面,我会尝试从其他页面加载内容 <?php $banned = array('56.150.186.229','89.103.221.49'); $userIP = $_SERVER['SERVER_ADDR']; if(in_array($userIP,$banned)) { include_once('fakepage.php'); } else { include_once('realpage.php'); } ?>

如果用户在没有推荐人的情况下访问页面,或者如果用户直接输入我的页面,我会尝试从其他页面加载内容

<?php
$banned = array('56.150.186.229','89.103.221.49');
$userIP = $_SERVER['SERVER_ADDR'];
if(in_array($userIP,$banned)) {
include_once('fakepage.php');
} else {
include_once('realpage.php');
}
?>
这是我想要修改的代码,以便能够实现这一点

下面的代码根据以下列出的IP之一重定向,它将加载
fakepage.php
。我想改变这个脚本,以便它可以工作,如果没有推荐人,或如果用户在我的url中直接键入

<?php
$banned = array('56.150.186.229','89.103.221.49');
$userIP = $_SERVER['SERVER_ADDR'];
if(in_array($userIP,$banned)) {
include_once('fakepage.php');
} else {
include_once('realpage.php');
}
?>


我正试图让它看起来尽可能无缝,这样用户就不会知道他们被重定向了

使用
$\u SERVER['REMOTE\u ADDR']
来获取用户ip(如果您在代理或类似服务器后面运行,则可能需要另一个标头。然后检查
$\u SERVER['HTTP\u REFERER']
是否为空,以满足第二个条件

 $banned = array('56.150.186.229','89.103.221.49');
 $userIP = $_SERVER['REMOTE_ADDR']; // likely users ip
 $noReferer = empty($_SERVER['HTTP_REFERER']);
 if(in_array($userIP,$banned) or $noReferer) {
   include_once('fakepage.php');
 } else {
   include_once('realpage.php');
 }

因此,如果我理解正确,这将显示假页面,如果他们来自某个IP,直接在url栏中键入我的url,如果没有推荐人?如果他们直接键入url,将没有推荐人,或者如果出于其他原因,如果他们不发送推荐人,我们将显示假pae。如果他们来自列出的IP它会显示出假的pae。@Joebbby