php怎么实现限制IP访问-PHP问题

资源魔 8 0

php怎样完成限度IP拜访:

//猎取客户端ip
if (getenv("HTTP_CLIENT_IP"))
  $ip = getenv("HTTP_CLIENT_IP"); 
else if(getenv("HTTP_X_FORWARDED_FOR"))
  $ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
  $ip = getenv("REMOTE_ADDR");
else $ip = "Unknow";
$ALLOWED_IP=array('10.144.39.132');
//容许拜访的ip
$check_ip_arr= explode('.',$ip);
//ip参数拆分红数组
if(!in_array($ip,$ALLOWED_IP)) {
  $bl=false;
  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则终止婚配
        break;
      }
    }
  }
  //end foreach
  if(!$bl){
    $return=array(
       'status'=>2,
       'msg'=>'该IP无权限拜访',
       'data'=>$ip
       );
    echo json_encode($return);
    exit();
  }
}

保举教程: 《php教程》

以上就是php怎样完成限度IP拜访的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!