仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 846|回复: 8
打印 上一主题 下一主题

[学习教程] PHP网页编程之口角名单:PHP完成IP口角名单过滤

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。
需求来自一个运维的同事,对一个php文件实行举行IP过滤,不便利间接设置服务器,因而必要间接在php文件开首举行IP的过滤。
IP过滤划定规矩,能够有以下情势:
1.完全的IP地点如:192.168.0.1
2.某一段IP如:192.168.0.*。
运维能够自界说IP口角名单,由多个IP过滤划定规矩构成,保留在数组中。经由过程编写代码,完成IP口角名单功效。一个对照复杂的需求。
起首完成一个函数,功效是判别ip是不是切合某个ip过滤划定规矩:

functionip_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))returntrue;
elsereturnfalse;
}
完成了ip_test这个中心函数后,上面的历程就复杂多了,不过就是复杂的遍历名单中的每条划定规矩,判别以后毗连的IP是不是切合划定规矩,并举行对应的步骤。
白名单,当IP最少满意一条划定规矩时持续实行操纵

$curr_ip=$_SERVER[REMOTE_ADDR];
$white_list=array(...);//白名单划定规矩
$test_success=false;
foreach($white_listas$iprule){
if(ip_test($curr_ip,$iprule)){
$test_success=true;
break;
}
}
if(!$test_success)exit(IPnotinwhitelist);
黑名单,当IP不满意一切划定规矩时持续实行操纵

$curr_ip=$_SERVER[REMOTE_ADDR];
$black_list=array(...);//黑名单划定规矩
foreach($black_listas$iprule){
if(ip_test($curr_ip,$iprule)){
exit(IPinblacklist);
}
}
就如许,一个复杂的PHP完成的IP口角名单过滤就完成了。这篇博客次要是给那些主营业不是开辟的职员,如:手艺撑持、运维等。因为太复杂,底本不想写,厥后谁人同事感激我协助,对我说这个他在网上找了好久,都没有找到符合的办理计划,我就想说不定这个还真有人必要呢。本文链接http://www.cxybl.com/html/wlbc/Php/20130326/37394.html看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
爱飞 该用户已被删除
沙发
发表于 2015-1-19 06:26:03 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-25 09:36:44 来自手机 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
若天明 该用户已被删除
地板
发表于 2015-2-2 21:34:58 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
莫相离 该用户已被删除
5#
发表于 2015-2-8 06:35:21 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
再见西城 该用户已被删除
6#
发表于 2015-2-24 21:59:03 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
admin 该用户已被删除
7#
发表于 2015-3-7 13:50:05 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
8#
发表于 2015-3-15 07:35:52 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
分手快乐 该用户已被删除
9#
发表于 2015-3-21 21:57:53 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 12:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表