`
renzhen
  • 浏览: 247657 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP实现IP黑白名单过滤

阅读更多
    需求来自一个运维的同事,对一个php文件执行进行IP过滤,不方便直接配置服务器,于是需要直接在php文件开头进行IP的过滤。
    IP过滤规则,可以有如下形式:
    1.完整的IP地址 如:192.168.0.1 
    2.某一段IP 如:192.168.0.* 。
    运维可以自定义IP黑白名单,由多个IP过滤规则组成,保存在数组中。通过编写代码,实现IP黑白名单功能。一个比较简单的需求。
    首先实现一个函数,功能是判断ip是否符合某个ip过滤规则:
   
function ip_test($ip,$iprule){
   $ipruleregexp=str_replace('.*','ph',$iprule);
   $ipruleregexp=preg_quote($ipruleregexp,'/');
   $ipruleregexp=str_replace('ph','\.[0-9]{1,3}',$ipruleregexp);

   if(preg_match('/^'.$ipruleregexp.'$/',$ip)) return true;
   else return false;
   
}
    

    实现了ip_test这个核心函数后,下面的过程就简单多了,无非就是简单的遍历名单中的每条规则,判断当前连接的IP是否符合规则,并进行对应的步骤。
     白名单,当IP至少满足一条规则时继续执行操作
    
     $curr_ip=$_SERVER['REMOTE_ADDR'];
     $white_list=array(...); //白名单规则
     $test_success=false;
     foreach($white_list as $iprule){
        if(ip_test($curr_ip,$iprule)){
           $test_success=true;
           break;
        }
     }
     if(!$test_success) exit('IP not in white list');

     

     黑名单,当IP不满足所有规则时继续执行操作
    
     $curr_ip=$_SERVER['REMOTE_ADDR'];
     $black_list=array(...); //黑名单规则
     foreach($black_list as $iprule){
        if(ip_test($curr_ip,$iprule)){
           exit('IP in black list');
        }
     }
     

     就这样,一个简单的PHP实现的IP黑白名单过滤就完成了。这篇博客主要是给那些主业务不是开发的人员,如:技术支持、运维等。由于太简单,原本不想写,后来那个同事感谢我帮忙,对我说这个他在网上找了很久,都没有找到合适的解决方案,我就想说不定这个还真有人需要呢。  
分享到:
评论

相关推荐

    护卫神(非法信息过滤系统)

    ☆ IP白名单,白名单终端IP可以访问除URL黑名单中的所有原始内容; ☆ 黑名单优先级高于白名单。 8、Gzip过滤支持 ☆ 开启【Gzip过滤】后,将可以过滤经过Gzip压缩的网页。 9、日志分析 ☆ 每天一个日志文件,...

    护卫神非法信息过滤系统 v2.0

    IP白名单,白名单终端IP可以访问除URL黑名单中的所有原始内容; 黑名单优先级高于白名单。 8、Gzip过滤支持 开启【Gzip过滤】后,将可以过滤经过Gzip压缩的网页。 9、日志分析 每天一个日志文件,详细的日志分析,...

    黑名单系统源码 二开API美化版+添加随机背景图+支持多种运行环境

    整了个 API 系统,支持文本和 JSON 输出添加更多的 Bootstrap 图标,更美观添加随机背景图(以前就有只不过没放图片)主页公告下面添加一个 IP 访问信息,可以分辨 ipv4 和 v6 公告下面添加一言添加安全系统,防止 ...

    智创IIS防火墙(网页关键字过滤拦截软件)

    6、限制指定IP地址(IP地址黑名单)不能访问服务器,以及代理服务器访问限制等; 7、在线观看IIS中运行的ASP/PHP脚本执行情况和执行时间,方便排查有问题的IIS网站中ASP/PHP脚本; 8、IIS强迫性广告功能(在网页...

    智创IIS防火墙(非法信息过滤拦截系统)

    6、限制指定IP地址(IP地址黑名单)不能访问服务器,以及代理服务器访问限制等; 7、在线观看IIS中运行的ASP/PHP脚本执行情况和执行时间,方便排查有问题的IIS网站中ASP/PHP脚本; 8、IIS强迫性广告功能(在网页...

    国微CMS学校网站系统(PHP168 S系列) v20180925.zip

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持PHPwind、UC、PHP168自身等...

    国微CMS学校站群系统(原PHP168 S系列) v20180925.zip

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持UC等系统整合,同时互动百科...

    网路岗5.07.01 企业金版

    IP白名单,IP黑名单。 <br>b、监控员工日常网络活动-网络监控技术。 如:上网网站、收发邮件、网上聊天内容、QQ事件、FTP上传命令、TELNET远程登录命令等,以实现全面的网络行为监控。 <br>c、多种网站...

    国微CMS门户版(原php168 S系列) v20150407

    国微CMS为国内最主流的CMS系统之一,也是中国南方PHP领域... 安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方

    网站安全狗IIS版 v4.0.18081.exe

    软件集网站内容安全防护、网站资源保护及网站流量保护功能为一体,功能涵盖网马/木马扫描、防SQL注入、防盗链、防黑链、防CC攻击、网站加速、危险组件防护、下载线程保护、IP黑白名单管理、实时流量监控、实时CPU...

    益智堂广告联盟系统v2.2.rar

    通过不同地域的Ip地址、Cookie、浏览器内的相关参数以及操作系统信息来判断、过滤、跟踪不同地域、不同行业的潜在客户行为 地域定位分析:根据广告主设定的投放地域精准投放广告。 行业定向:对广告进行细化,不同...

    DRBGuestbook 留言簿 v1.1.27.zip

    安装简单、易用,基于web的管理界面,可防垃圾留言,IP黑名单、敏感字词过滤、邮件提醒等功能。   产品特点: 快速和易于安装。 没有数据库软件是必需的。条目存储在一个简单的平面文件。 删除多个项目一次...

    国微CMS门户版 (原php168 S系列) v20150407.zip

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持PHPwind、UC、PHP168自身等...

    RaidenHTTPD v1.1.38(PHP5)

    可远端管理你的网站,支援CGI,PHP v5.0.4,SSL安全机制,简繁体转换,网页压缩,可以同时用一个IP架好个网站,病毒过滤器,可设定哪些IP区段可进入你的网站,哪些是列入黑名单,来加强网站管理,可以自行设定虚拟...

    国微cms小学幼儿园方案(原PHP168 S系列) v20170220.zip

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持PHPwind、UC、PHP168自身等...

    国微cms小学幼儿园方案(原PHP168 S系列) v20170220

    国微学校方案重点为教育类提供高性能解决方案,可快速将学校...安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可

    国微CMS学校网站系统(原PHP168 S系列)

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持UC等系统整合,同时互动百科也...

    国微CMS学校网站源码(大学、中学、技校)

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持PHPwind、UC、PHP168自身等...

    国微cms 高校站群系统

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。 通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。 程序整合体系:将支持UC等系统整合,同时互动百科也...

    国微CMS企业网站系统(集团版) v20180323

    安全体系: 支持IP黑名单、白名单、支持防CC攻击、支持批量过滤敏感词汇。通讯体系: 手机模块、邮件模块、短消息模块均已做成接口模式,任意功能均可方便调用。程序整合体系:将支持UC等系统整合,同时互动百科也将...

Global site tag (gtag.js) - Google Analytics