博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP
阅读量:5871 次
发布时间:2019-06-19

本文共 1545 字,大约阅读时间需要 5 分钟。

/** * 检测访问的ip是否为规定的允许的ip * Enter description here ... */function check_ip(){    $ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49');    $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; }}
 
/** * 获得访问的IP * Enter description here ... */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"]);}
在需要检测的地方 加上调用 check_ip(); 即可;  本函数提供只允许指定的IP访问文件,并提供IP中*号通配符 匹配多IP
--------共同分享,共同学习,学海无涯,回头是岸----------------PHP,Mysql-交流学习QQ群:231614983----------------------------------------------------------------

 

转载于:https://www.cnblogs.com/chenmfly/p/4571580.html

你可能感兴趣的文章
数据恢复的原理简介
查看>>
硬盘"动态磁盘 无法读取"故障的修复
查看>>
Linq并发冲突
查看>>
AS3的Vector的初始化
查看>>
安卓DialogFragment如何使用?
查看>>
FTP主动模式和被动模式的比较
查看>>
HA应用之 -- corosync+pacemaker
查看>>
DNS服务启动时卡在:Generating /etc/rndc.key:
查看>>
制作计算器
查看>>
Linux***检测基础学习
查看>>
虚拟化时代 智能数据管理架构才是王道
查看>>
grep 正则表达式
查看>>
tomcat的安装
查看>>
跟我一起学QT11:Address Book的编写
查看>>
nginx缓存页面后,串会话问题的解决方案(转)
查看>>
使用 FOR XML语句 将查询结构作为XML格式返回【转】
查看>>
Tomato多拨脚本
查看>>
php实参和形参不一致的情况
查看>>
linux中pip安装步骤与使用详解
查看>>
Python实例:通过字典某个关键字排序
查看>>