• 技术文章 >后端开发 >PHP问题

    php如何实现禁止ip访问

    coldplay.xixicoldplay.xixi2020-11-04 11:20:36原创717

    php实现禁止ip访问的方法:首先获取客户端ip,ip参数拆分成数组;然后记录循环检测中是否有匹配成功,如果为【*】符号替代符就不检查,终止检查本个ip。

    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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 禁止ip访问
    上一篇:php如何实现不重复的随机数 下一篇:如何开启php错误提示
    PHP编程就业班

    相关文章推荐

    • php禁止ip访问的函数 • 宝塔nginx环境下禁止IP访问• PHPCMS如何禁止IP访问网站• php如何禁止ip访问网站

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网