- 浏览: 312204 次
文章分类
最新评论
-
一个ID的距离:
我了个擦~高端大气上档次啊~
js生成玫瑰花 源代码 -
abc382410124:
尝试使用开源的免费的编辑器了,学习了
Notepad++ 插件之 TextFX (安装及作用)
IP及IP段进行访问限制
转自:http://hudeyong926.iteye.com/blog/1584554
/////////////////////////////////////////////////////////////////////////////
转自:http://hudeyong926.iteye.com/blog/1584554
<?php $oblock_ip = new block_ip(); $boolean = $oblock_ip->checkip(); class block_ip { var $block_ip = array("192.168.1.1","210.10.2.1-20","222.34.4.*"); function __construct(){ } function __destruct(){ } private function makepregip($str){ if (strstr($str,"-")) { $aip = explode(".",$str); foreach ($aip as $k=>$v) { if (!strstr($v,"-")) { $preg_limit .= makepregip($v); } else{ $aipnum = explode("-",$v); for($i=$aipnum[0];$i<=$aipnum[1];$i++){ $preg .=$preg?"|".$i:"[".$i; } $preg_limit .=strrpos($preg_limit,".",1)==(strlen($preg_limit)-1)?$preg."]":".".$preg."]"; } } }else{ $preg_limit .= $str."."; } return $preg_limit; } private function getallblockip(){ if ($this->block_ip) { foreach ($this->block_ip as $k=>$v) { $ipaddres = $this->makepregip($v->start_ip); $ip = str_ireplace(".","\.",$ipaddres); $ip = str_replace("*","[0-9]{1,3}",$ip); $ipaddres = "/".$ip."/"; $ip_list[] = $ipaddres; } } return $ip_list; } public function checkip() { $iptable = $this->getallblockip(); $isjoined = true; //取得用户ip $ip = $this->get_client_ip(); $ip = trim($ip); //剔除黑名单中的ip区段 if ($iptable) { foreach($iptable as $value) { if (preg_match("{$value}",$ip)) { $isjoined = false; break; } } } //如果在ip黑名单中就执行如下操作 if( !$isjoined ){ echo "ip error"; exit; } } private function get_client_ip(){ if (getenv("http_client_ip") && strcasecmp(getenv("http_client_ip"), "unknown")) $ip = getenv("http_client_ip"); else if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "unknown")) $ip = getenv("http_x_forwarded_for"); else if (getenv("remote_addr") && strcasecmp(getenv("remote_addr"), "unknown")) $ip = getenv("remote_addr"); else if (isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], "unknown")) $ip = $_server['remote_addr']; else $ip = "unknown"; return($ip); } } ?>
/////////////////////////////////////////////////////////////////////////////
<?php /* 子网掩码“长”得和 IP 地址类似,比如:255.255.255.0。可以用它来做逻辑 AND 运算判断是否要把数据 包发送到外网(区分子网) 。比如我们已知 IP 为 202.202.15.0,子网掩码为 255.255.255.0(24 个 1) ,那么 我们可以把这个网段描述为202.202.15.0:24。 现在我要判断202.212.16.238这个地址是否在202.202.15.0:24 这个网络中。可以这么做: 由于掩码为 24 位,你可以理解为只要IP 地址和网络地址的前 24 位相同,那就是同一个网络了。 先用二进制来实现。把24(即 255.255.255.0)转换成掩码,也就是 24 个 1。 11111111.11111111.11111111.00000000 然后,11111111 11111111 11111111 00000000(255.255.255.0) AND 11001010 11001010 00010000 11101110(202.212.16.238) =11001010 11001010 00010000 00000000(202.202.16.0) 202.202.16.0!=202.202.15.0,所以不在网络地址内。 用 PHP 代码来表示如下: */ function ip_in_network($ip, $net_addr, $net_mask){ if($net_mask <= 0){ return false; } $ip_binary_string = sprintf("%032b",ip2long($ip)); $net_binary_string = sprintf("%032b",ip2long($net_addr)); return (substr_compare($ip_binary_string,$net_binary_string,0,$net_mask) === 0); } var_dump(ip_in_network('202.202.16.0', '202.202.16.10', 24)); ?>
发表评论
-
PHP+MySQL来实现在线测试quiz功能
2015-05-21 16:13 1078PHP+MySQL来实现在线测试quiz功能 -
PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
2014-03-17 11:24 609/** * 作用:FTP操作类( 拷贝、移动、删除文件/创 ... -
get_magic_quotes_gpc()
2013-05-14 16:23 371转自网络 在php的配置文件中,有个布尔值 ... -
php可编辑表格
2013-04-11 10:16 1940转自kongzimengsheng 编号 姓 ... -
Windows下使用VS2010编译PHP5.4
2013-04-03 13:31 1118转自: http://www.zhurouyoudu.co ... -
zend framework,,,,,
2013-03-22 15:07 719近几天看了看zf1 优点:数据处理、页面显示等 ... -
PHP 实现301转向代码
2013-03-20 10:06 832301转向定义(转自网络)301转向(或叫301重定 ... -
citymap
2013-03-08 17:32 652,,,,,,,, -
PHP 计算页面执行时间
2013-02-22 10:43 818$t = new executeTime; //phpi ... -
PHP攻击网站防御代码-以及攻击代码反译
2013-02-21 14:23 843<?php //查询禁止IP $ip = ... -
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
2013-02-21 14:18 863ip库,免更新。 淘宝IP库: http://ip.taob ... -
针对PHP的网站主要存在下面几种攻击方式:
2013-02-21 11:51 847针对PHP的网站主要存在下面几种攻击方式: 1、命令注入(Co ... -
AMFPHP
2013-01-09 13:57 785下载地址:http://sourceforge.net/pro ... -
PHP网站安装程序的制作
2012-12-28 10:28 5561.制作PHP安装程序的原理 其实PHP程序的安装原理无非就是 ... -
php_xdebug.dll
2012-12-27 17:20 44211111111111111 -
is_file file_exists的区别
2012-12-20 11:41 1078转自网络 is_file 判断文件是否存在并 ... -
网站统计中的数据收集原理及实现
2012-11-15 09:42 834http://www.admin10000.com/docum ... -
Javascript+PHP实现在线拍照功能
2012-09-17 09:16 878转自:http://www.php100.com/html/w ... -
简单分页类
2012-09-04 13:47 693分页 转自网络 已测试 ... -
实现搜索框输入时 提示相近词的功能
2012-09-03 18:32 1039下面是三个文件的代码 把sql文件导入到mysql数据库里 修 ...
相关推荐
例如,限制所有属于某个公司网络(可能拥有一个共同的前缀)的IP访问。 6. **IP地址的判断与转换**:在Java中,可以使用`java.net.InetAddress`类获取和解析IP地址。`InetAddress.getByName(ip)`可将字符串形式的IP...
Springboot过滤器禁止ip频繁访问功能实现是指在Springboot项目中,通过编写一个过滤器来限制ip频繁访问的功能实现。这项功能可以防止恶意ip的访问,保护服务器的安全。 首先,需要了解什么是过滤器。在Web开发中,...
通过以上改造,我们成功为Zookeeper 3.4.14增加了IP访问控制功能,增强了系统安全性。然而,需要注意的是,这种改造可能会引入额外的复杂性和潜在的性能影响,因此在实际部署时,需要根据具体场景权衡利弊,确保改造...
在PHP中实现基于IP地址和IP段的访问限制是一项常见需求,尤其是在需要控制网站访问权限时。根据提供的文件内容,我们可以详细讨论相关的知识点。 首先,文件中展示了一个名为`block_ip`的类,该类的目的是通过IP黑...
php限制ip访问次数.txt php限制ip访问次数.txt php限制ip访问次数.txt php限制ip访问次数.txt
通常,服务器会记录每个IP地址在一定时间内的请求次数,当超过预设阈值时,就会对这个IP进行封锁或者限制其访问速度。这种机制可以有效防止DDoS攻击和非法数据抓取。 在Java中,应对IP限制的方法多种多样,以下是...
Windows 操作系统提供了 IP 安全策略功能,可以限制固定 IP 远程访问,以提高系统的安全性。下面是具体的设置步骤和知识点: 一、创建安全策略 在 Windows 中,需要创建一个新的安全策略,以限制固定 IP 远程访问...
在网络安全管理中,限制特定IP访问远程桌面是一种有效的安全措施,可以防止未经授权的用户尝试登录并控制服务器。本文将详细讲解如何通过IP安全策略来设置这一限制,以增强服务器的安全性。 首先,我们需要理解IP...
5. **日志记录**:记录被拒绝的IP访问尝试可以帮助管理员识别潜在的攻击模式,并及时调整策略。 总之,Discuz! 6.1插件版块限制访问IP功能是一项重要的管理工具,它能帮助论坛管理员精确控制内容的访问权限,以确保...
可以限制某IP不能访问网站,过滤
IP访问限制ASP程序(可加入后台) 1.0 介绍: #fceywz_ip 文件夹:数据库文件夹 里面的#fceywz_ip.asa是ACCSEE2003数据库 ip.asp 管理可访问网页的IP地址管理; ip_tj.asp 添加新的IP地址; ip_xg.asp 修改IP...
设置 IIS 限制 IP 访问网站 设置 IIS 限制 IP 访问网站是指通过 IIS 管理器限制某些 IP 地址或域名访问特定网站目录,以提高网站的安全性。本文将详细介绍设置 IIS 限制 IP 访问网站的步骤和相关知识点。 一、为...
在IT行业中,尤其是在Web开发领域,Cookie访问限制IP是一个重要的安全策略,用于保护网站免受恶意用户的攻击。本文将深入探讨如何使用JavaScript(JS)来实现这一功能,并针对可能出现的兼容性问题提供解决方案。 ...
php限制访问ip
远程桌面端口修改及限制IP访问 远程桌面端口修改及限制IP访问是指在远程桌面连接中修改默认的3389端口号,并限制访问的IP地址,以确保服务器的安全。下面是详细的知识点: 一、远程桌面端口修改: 1. 打开注册表 ...
本篇文章将详细解析一段用VBScript编写的IP限制访问代码,并对其中涉及的关键概念和技术点进行深入解读。 #### 二、关键知识点 ##### 1. IP地址转换为数字表示 - **函数定义**:`IP2Num` 函数用于将IP地址转换为...
### 通过路由条目拒绝国外IP访问服务器 #### 背景介绍 随着互联网技术的飞速发展,网络安全问题日益凸显。服务器作为互联网的核心组成部分,面临着来自全球各地的各种威胁。尤其是那些面向公众开放的服务器,更...
限制IP段与单份个IP访问某页面 PHP源代码 注释详细
对于一个IP段区域做限制访问,譬如,对校院站点资源限制校园以外的电脑访问.