代码:

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的开头即可。前提必须是在里才有效

最新文章

  1. apache-shiro入门&lt;一&gt;
  2. zabbix身份验证流程解析&amp;绕过身份验证的方法
  3. 互联网实习笔记之shell笔记
  4. Android Saving Data(二)
  5. ER-STUDIO 6.5工具使用帮助的中文翻译
  6. Codeforces 55D (数位DP+离散化+数论)
  7. Android:开发环境
  8. WCF_Config頁面常用配置
  9. Laravel 5 基础(四)- Blade 简介
  10. .NET之美——C# 中的委托和事件
  11. Matlab中sortrows函数解析
  12. hdu 5402 Travelling Salesman Problem(大模拟)
  13. iOS学习之Runtime(二)
  14. oracle动态视图v$,v_$,gv$,gv_$与x$之间的关系
  15. [SinGuLaRiTy] NOIP模拟题 by liu_runda
  16. RabbitMQ windows安装(一 )
  17. SQA计划和验收测试规程设计
  18. Django的MVT模式与MVC模式
  19. IDEA中使用vim删除复制代码的行号
  20. laravel5.4 表单提交

热门文章

  1. EF架构~Migration数据迁移的执行顺序
  2. hibernate 返回对象指定属性,需要返回的列,可以直接返回 对象属性
  3. thinkphp带查询条件的分页
  4. less中的变量
  5. Java面试常考------------------------垃圾收集算法
  6. 固定Realm 与配置数据库连接实现登录验证
  7. 关于Net开发中一些SQLServer性能优化的建议
  8. 算法设计与分析 上机题Mergesort
  9. 004.Create a web app with ASP.NET Core MVC using Visual Studio on Windows --【在 windows上用VS创建mvc web app】
  10. CentOS 6.9 升级MySQL 5.6.36到5.7.18