网站限制某些ip访问,仅允许指定ip地址访问发布时间:2018/8/25 11:23:00 阅读次数:

  

  把下面的代码直接贴在index.php的开头即可。前提必须是在里才有效

  代码:

  function getIP() {

  return isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FORWARDED_FOR"]

  :(isset($_SERVER["HTTP_CLIENT_IP"])?$_SERVER["HTTP_CLIENT_IP"]

  :$_SERVER["REMOTE_ADDR"]);

  }

  function check_ip(){

  $ALLOWED_IP=array('127.0.0.1');//允许访问的ip地址

  $IP=getIP();

  $check_ip_arr= explode('.',$IP);//要检测的ip拆分成数组

  #限制IP

  if(!in_array($IP,$ALLOWED_IP)) {

  foreach ($ALLOWED_IP as $val){

  if(strpos($val,'*')!==false){//发现有*号替代符

  $arr=array();//

  $arr=explode('.', $val);

  $bl=true;//用于记录循环检测中是否有匹配成功的

  for($i=0;$i<4;$i++){

  if($arr[$i]!='*'){//不等于*  就要进来检测,如果为*符号替代符就不检查

  if($arr[$i]!=$check_ip_arr[$i]){

  $bl=false;

  break;//终止检查本个ip 继续检查下一个ip

  }

  }

  }//end for

  if($bl){//如果是true则找到有一个匹配成功的就返回

  return;

  die;

  }

  }

  }//end foreach

  header('HTTP/1.1 403 Forbidden');

  echo "Access forbidden";

  die;

  }

  }

  check_ip();

  把上面的代码直接贴在index.php的开头即可。前提必须是在里才有效