当前位置:首页 > 日记 > 正文

PHP判断IP黑名单程序的代码示例

PHP判断IP黑名单程序的代码示例
学校新闻系统只需要一些新闻就可以在学校内打开IP浏览,所以一个代码被重写来实现这个功能。实施后,其结果是包括IP被列入ip.txt文件,并支持C类IP,例如:

ip.txt
一百九十二点一六八
211.67.188
211.67.191.25
代码如下:

复制代码代码如下所示:
*
* IP地址黑名单,白名单
*确定访问者的IP地址是在ip.txt和支持C类IP
* xhat
* /

IP = _server美元美元'remote_addr'} {;
iparray美元= preg_replace(# RN | N #
foreach(iparray美元美元iptest){
如果(substr_count($ IP,iptest美元)!= 0 ){
OK和执行命令
(死亡);
}
}

>
该代码用于作弊,并且升级了以下代码

复制代码代码如下所示:
< PHP
类block_ip {
VaR block_ip美元=阵列(192.168.1.1
功能__construct(){
}
功能__destruct(){
}
私有函数makepregip($str){
如果(strstr($str,)){
$ =爆炸()。
foreach(AIP美元美元美元K = > v){
如果(!strstr($ V,)){
preg_limit = makepregip美元($ V);
别的{ }
aipnum美元=爆炸(
(我=美元为美元aipnum { 0 };$i <=美元美元aipnum { 1 };i++){
1美元美元。= preg 。我: / 。我| ;
}
preg_limit美元。=个子($ preg_limit,,
}
}
其他{ }
preg_limit美元美元结构;
}
返回的preg_limit;
}
Private function getAllBlockIP () {
如果(美元-> block_ip){
foreach(美元-> block_ip为K = > $ V){
ipaddres美元=美元-> makepregip($ V -> start_ip);
为IP = str_ireplace(,
为IP = str_replace(×
ipaddres美元= / 为IP。;
ip_list { } = ipaddres美元美元;
}
}
返回的ip_list;
}
公共功能checkip(){
$ iptable =美元-> getallblockip();
美元=真的不;
用户
IP =美元美元-> get_client_ip();
美元=修剪($ IP);
黑名单拒绝中的IP部分
如果($ iptable){
foreach(iptable美元美元值){
如果(preg_match({ }价值
加入美元=假;
打破;
}
}
}
如果操作在以下IP黑名单中执行
如果(!加入美元){
IP错误;
出口;
}
}
私有函数get_client_ip(){
如果(getenv(http_client_ip )strcasecmp(getenv(http_client_ip ),未知))
为IP = getenv(http_client_ip );
如果(getenv(http_x_forwarded_for )strcasecmp(getenv(http_x_forwarded_for ),未知)))
为IP = getenv(http_x_forwarded_for );
如果(getenv(remote_addr )strcasecmp(getenv(remote_addr ),未知)))
为IP = getenv(remote_addr );
else if(isset($ _server { 'remote_addr ' }){ } _server美元的'remote_addr strcasecmp(_server { } 'remote_addr美元,未知))
IP = _server美元美元'remote_addr'} {;
其他的
$未知;
返回(IP);
}
}
>
引用片段:
复制代码代码如下所示:
oblock_ip美元=新block_ip();
oblock_ip美元-> checkip();

相关文章

kamdbundleverificationfailederro

kamdbundleverificationfailederro

解决方案,错误,电脑软件,kamdbundleverificationfailederrorr,当安装的iPad,iPhone或iTouch,一个应用程序,有一个kamdbundleverificationfailederrorr错误提示。 此错误表示您正在安装的软件不能安装在这个移动设备中。可能是系统版本不匹配,例…

PHP如何保留表单提交后填充的信息

PHP如何保留表单提交后填充的信息

填充,表单,提交后,电脑软件,PHP,本文介绍了PHP提交表单失败时总结信息的几种方法,最常用的方法是使用缓存。如果这个方法很慢,可能是个问题。最好的方法是使用ajax。 1。使用头标头设置缓存控制头缓存控制。 PHP代码如下所示: 头('cache-con…

对于Win8.1安装HP打印机驱动两种方

对于Win8.1安装HP打印机驱动两种方

安装,两种,打印机驱动,方式,电脑软件,点评:Win8.1安装HP打印机驱动程序可以使用HP打印机安装向导和保存的实用程序,两种方式来实现,具体操作步骤如下,你可以参考。 方法一:使用HP打印机安装向导 如果您在Windows 8之前购买打印机,您可能没有附…

重新编译一个无效的对象或在PLSQL

重新编译一个无效的对象或在PLSQL

对象,重新编译,无效,方法,电脑软件,oracle提示,技巧脚本 1。主题:编译无效对象: Oracle8i和Oracle9i提供了一种称为utlrp.sql位于oracle_home美元/数据库/管理员可随时重新编译所有现有的PL / SQL模块脚本(程序,功能,包装,触发器类型,并在数据库中…

iTunes更新/恢复IOS系统1479错误(解

iTunes更新/恢复IOS系统1479错误(解

错误,恢复,系统,解决方案,电脑软件,问题: 当使用iTunes更新或恢复IOS系统时,会弹出错误框。错误代码是:1479,这通常是苹果设备iPhone和iPad的系统问题。 答案uff1a 重新启动苹果设备iPhone,ipad,重新连接到电脑,然后启动iTunes,更新或恢复系统。…

PHP中数组合并的两种方法及差异

PHP中数组合并的两种方法及差异

方法,数组,合并,两种,差异,PHP数组合并的两种方法及其差异 如果它是一个关联数组,如下所示: 复制代码代码如下所示: $ =数组( 哪里= > 'uid = 1, 秩序= > 'uid, ); $ =数组( 哪里= > 'uid = 2, 秩序= > 'uid desc, ); 1。array_merge,如果两个数组有…

PPT动画制作的四种方法

PPT动画制作的四种方法

方法,动画制作,四种,电脑软件,PPT,现在许多学科经常要做一些研究或调查报告。使用PowerPoint是个好主意。 很多时候,我们需要添加一些Flash动画来让我们的幻灯片更生动、更漂亮、更有说服力,但是PowerPoint并不能提供直接的功能,比如插入图片,…

高效MySQL分页方法及原理

高效MySQL分页方法及原理

方法,分页,高效,原理,电脑软件,首先,看看分页的基本原理: 复制代码代码如下所示: MySQL >解释由ID * DESC LIMIT 10000消息顺序选择,20G 1。行***************** **************编号:1 select_type:简单表:消息类型:指数possible_keys:空键:主要key_l…

win7如何修改的情况下,DNS地址不可

win7如何修改的情况下,DNS地址不可

地址,网站,修改,情况下,电脑软件,注释:修改计算机DNS地址或刷新DNS缓存以解决网站无法访问的情况。win7系统下,DNS地址的方法证明,和XP和Win8基本相似。 在今天下午三点,在中国很多网站无法访问。这个问题是由中国顶级域名根服务器故障引起的,这…

VPN不能玩游戏,QQ可以上网玩(解决)

VPN不能玩游戏,QQ可以上网玩(解决)

玩游戏,电脑软件,VPN,QQ,问题: 我喜欢玩守卫遗迹游戏。有些同志玩dota2美丽的衣服和我一起玩,怕网速慢玩DOTA2,就买了一个VPN。连接后,发现QQ不能玩游戏或上网。之后,被关闭了,默认网关在远程网络中被使用。 答案uff1a 上述问题的根源在于路由…

一些东方MySQL优化整理

一些东方MySQL优化整理

优化,电脑软件,MySQL,1。查询的帮助内容 2。使用合成散列值分隔散点或文本。 三.货币使用定点数(小数或数值) 4.sql_mode 伦德(1000)5.order极限; 6。优化显示状态like'com'com_select com_insert等查看插入或查询更多 的7.handler_read_key值…

PHP操作xmlxml标记的属性分析

PHP操作xmlxml标记的属性分析

操作,属性,分析属性,标记,电脑软件,本文演示了PHP操作XML的XML标签的属性,供您参考,具体分析如下: 复制代码代码如下所示: 乔 女性的 二十三 周宇 男性的 二十六 属性的文字,如id =no001 案。 注: (1)属性值必须用单引号或双引号分开。 (2)XM…