屏蔽的ip列表几种方法

下面我是收集了几种常用的屏蔽的ip列表的程序处理方法,屏蔽这样可以让你的网站更好,更稳定了,下面我们不来分析下面的屏蔽方法吧.

$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*,142.*,*";
$ip = "127.0.0.254";
function StopIp($ip,$ip_str)
{
    if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
    $ip = explode(".",$ip);
    if(eregi("(,*,|,*.|,*)|(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?)",",".$ip_str.","))return true;
}
if(StopIp($ip,$ip_str))echo 1;

function StopIp($ip,$ip_str)
{
        if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
        $ip = explode(".",$ip);
        if(eregi("(,*,|,*.|,*)|,(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*),?)",",".$ip_str.","))return true;
}

function StopIp($ip,$str)
{
    if(stristr(",".$str.",",$ip))return true;//如果在在范围内就不允许
    if(stristr(",".$str.",",",*,") || stristr(",".$str.",",",*"))return true;//如果首次出现,*. 或者 ,* 表示所有站点都不允许
    $iplist = explode(",",$str);
    $ip = explode(".",$ip);
    for($i = 0;$i<count($iplist);$i++)
    {
        if(eregi($ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?",$iplist[$i]))return true;
    }
}
//测试
$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*";//这个是屏蔽的ip列表 以","隔开,如果要屏蔽所有ip请用* 如果想屏蔽127.开头的ip格式为 127.*
$ip = "137.0.0.2"; //需要验证的Ip
if(StopIp($ip,$ip_str))echo 1;

for($i=1;$i<=255;$i++)
{
for($k=1;$k<=255;$K++)
{
for($a=1;$a<=255;$a++)
{
$str .= "192.{$i}.{$k}.{$a}";
}
}
}
这样就能生产 255*255*255 很大的Ip数据量了

时间: 2024-09-25 21:01:41

屏蔽的ip列表几种方法的相关文章

关于java获取本地ip的几种方法

关于java获取本地ip的几种方法1.获取本地ip的方法 System.out.println(InetAddress.getLocalHost().getHostAddress()); 2.域名解析ip的方法 System.out.println(InetAddress.getByName("www.sina.com.cn")); 3.获取本地出口ip的方法(局域网NAT或本地找交换机出口ip的方法) 建立通讯TCP,telnet,mina通讯等. Socket client = n

苹果ios下获取设备的IP地址几种方法

要获取设备的IP地址,网上随便一搜就能找到一大堆结果,但是这些能找到的代码基本上都是用C写的,并没有针对iOS做过优化调整,使用起来也不方便.就只是要获取IP地址而已,封装成一个函数调用一下然后使用起来才方便.代码比较简单,就是把网上抄来的代码做了整理和iOS适配.函数返回一个包含了所有网卡的IP地址的一个数组.  代码如下 复制代码 - (NSArray *)getIpAddresses {   int sockfd = socket(AF_INET, SOCK_DGRAM, 0);   if

linux下使用perl获取本机ip的几种方法介绍_linux shell

在使用 Gearman 做分布式处理时,各机需要注册一个独立的 job 作为信息反馈,为求方便,Gearman::Worker 脚本 register_function 代码又要通用,于是想到了使用各自的 ip 地址作为 job 命名. 那么怎么在 worker 脚本里获取本机 ip 作为 func 呢? 第一种办法,最简单的,调用 shell: 复制代码 代码如下: $ip = `ifconfig eth0|grep -oE '([0-9]{1,3}\.?){4}'|head -n 1`; 注

Linux屏蔽封IP 防御DDOS配置方法

DDoS deflate介绍 DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本.它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP. DDoS deflate官方网站:http://deflate.medialayer.com/ 如何确认是否受到DDOS攻击? 执行:  代码如下 复制代码 netstat -ntu | awk '{print $5}' | cut -d: -f1

CentOS6系统同一网卡绑定多个ip的几种方法

在centos6.0以前,同一个网卡绑定多个ip地址,需要新建一个类似于ifcfg-eth0:0的文件,来定义新增加的ip,而从centos6.0开始,绑定多个ip地址变得非常简单了,不需要新建配置文件,只需修改该网卡的配置文件了 方法 一,比如ifcfg-em1,在其中增加这么几行即可: IPADDR2=192.168.2.101 NETMASK2=255.255.255.0 GATEWAY2=192.168.2.1 其中GATEWAY2是可选的,实际应用中一般不需要配置多个网关. 如果要绑定

获取客户端ip地址二种方法(js,jquery)

利用jquery获取用户ip信息 $.getjson("http://jsonip.apps教程pot.com?callback=?",function(data){ alert( "你的ip:" + data.ip); }); 利用js获取用户ip地址信息 <html>        <head>    <meta http-equiv="content-type" content="text/html;

nginx/apache下添加禁止访问IP列表

nginx方法如下 新建 /usr/local/nginx/conf/blockips.conf 需要屏蔽的ip列表文件 vi /usr/local/nginx/conf/blockips.conf 加入以下代码: #屏蔽soso蜘蛛IP deny 113.108.12.154;    #此为搜搜蜘蛛IP deny 124.115.0.0/24;    #此为屏蔽搜搜蜘蛛124.115.0.1 ~ 124.115.0.255整个网段IP deny 124.115.4.0/24;    #此为屏蔽

linux中检查ip被封的3种方法

网站打不开,ssh连不上,这是很多站长的痛.下面例举3种方法,判断IP是不是被屏蔽了. 1,路由分析法 # traceroute 212.239.8.22       //linux下  traceroute to 212.239.8.22 (212.239.8.22), 30 hops max, 60 byte packets   1  192.168.10.1 (192.168.10.1)  0.308 ms  0.515 ms  0.634 ms   2  * * *   3  124.7

将PPT列表文字变图形的三种方法

  有时候,我们需要将PPT中的文字变成图形的形式,通常我们会以点符列表来进行格式化.现在,对于这些昔日的作品与文件,您只要通过PowerPoint 2007 全新的自动化转换工具就能轻松完成了. 您有多种操作方式可以将条列式文字变成动人的图形. 方法一:只要单击幻灯片上既有的点符列表文本框后,在画面上方功能区里的"段落"选项组中,单击"转换为 SmartArt 图形"按钮,即可从其下拉清单中挑选所要套用的图形. 套用样式 此时,原本平凡的列表式文字输入,通过&qu