PHP实现限制IP访问的方法

 更新时间:2017年04月20日 11:45:25   作者:momo_mutou   我要评论
这篇文章主要介绍了PHP实现限制IP访问的方法,涉及php针对客户端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网络编程技巧总结》、《php正则表达式用法总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》及《php常见金沙国际官网操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP的魔术常量__METHOD__简介

    PHP的魔术常量__METHOD__简介

    这篇文章主要介绍了PHP的魔术常量__METHOD__简介,使用__METHOD__可以获取类中的方法名称,PHP5之后新增的魔术常量,需要的朋友可以参考下
    2014-07-07
  • 简单实现php上传文件功能

    简单实现php上传文件功能

    这篇文章主要教大家如何简单实现php上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • PHP实现通过中文字符比率来判断垃圾评论的方法

    PHP实现通过中文字符比率来判断垃圾评论的方法

    这篇文章主要介绍了PHP实现通过中文字符比率来判断垃圾评论的方法,是一个比较实用的技巧,对于进行PHP应用程序开发来说有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • JavaScript创建命名空间的5种写法

    JavaScript创建命名空间的5种写法

    这篇文章主要介绍了JavaScript创建命名空间的5种写法,命名空间的主旨在于解决命名冲突的问题,需要的朋友可以参考下
    2014-06-06
  • php字符集转换

    php字符集转换

    本文主要介绍了PHP通过iconv将字符串从utf-8转换为UTF8字符集。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • PHP生成器功能与用法实例分析

    PHP生成器功能与用法实例分析

    这篇文章主要介绍了PHP生成器功能与用法,结合实例形式分析了PHP生成器的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-03-03
  • PHP开发不能违背的安全规则 过滤用户输入

    PHP开发不能违背的安全规则 过滤用户输入

    作为PHP程序员,特别是新手,对于互联网的险恶总是知道的太少,对于外部的入侵有很多时候是素手无策的,他们根本不知道黑客是如何入侵的、提交入侵、上传漏洞、sql 注入、跨脚本攻击等等。
    2011-05-05
  • 让PHP以ROOT权限执行系统命令的方法

    让PHP以ROOT权限执行系统命令的方法

    这种问题我想大家可能都遇到过,网友提供的解决方法也很多。我也只是结合自己系统的需求并结合网友的解决方案来总结的一种方法
    2011-02-02
  • PHP附件下载中文名称乱码的解决方法

    PHP附件下载中文名称乱码的解决方法

    这篇文章主要介绍了PHP附件下载中文名称乱码的解决方法,分析了中文乱码形成的原因及对应的编码转换方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • 解析php函数method_exists()与is_callable()的区别

    解析php函数method_exists()与is_callable()的区别

    本篇文章是对php中method_exists()与is_callable()的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论