喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: [原创] Ip验证程序  
 
piaofengnet
中级会员
Rank: 3Rank: 3



UID 82620
精华 0
积分 230
帖子 106
金钱 230 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-11-4
状态 离线
Ip验证程序

晚上也没话多少时间写的一点东西,觉得还是不错的。跟大家分享下!

<?php
/*
作者:林建炫 [飘枫] Create 2007-06-14 珠海
*/
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;
?>
喜欢的朋友请顶顶,你们的支持是我的动力
2007-6-14 10:49 PM#1
查看资料  Blog  发短消息  顶部
 
piaofengnet
中级会员
Rank: 3Rank: 3



UID 82620
精华 0
积分 230
帖子 106
金钱 230 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-11-4
状态 离线
[推荐阅读] 求购 仿阿里巴巴 程序
我追求短的艺术,呵呵,发出来更短的方法。6行搞定,带ip格式验证.

<?php
$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;
?>
2007-6-15 09:43 AM#2
查看资料  Blog  发短消息  顶部
 
piaofengnet
中级会员
Rank: 3Rank: 3



UID 82620
精华 0
积分 230
帖子 106
金钱 230 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-11-4
状态 离线
[推荐阅读] 【招聘】PHP图书兼职作者
方法纠正.经过20W数据测试,使用正常
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;
}
2007-6-16 12:15 PM#3
查看资料  Blog  发短消息  顶部
 
rjp_ww
注册会员
Rank: 2
初级会员


UID 67694
精华 0
积分 159
帖子 416
金钱 159 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-1-2
状态 离线
[推荐阅读] 最新最全的企业通用建站系统免费下载(v07有下载了)
好,很好,特别好,相当的好,支持一下。及喜欢又讨厌正则式!
2007-6-18 05:36 PM#4
查看资料  发短消息  顶部
 
arcow (arcow)
新手上路
Rank: 1
初级会员



UID 31560
精华 0
积分 9
帖子 10
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-9-29
来自 武昌鱼故乡
状态 离线
[推荐阅读] 最新最全的网店商城源码免费下载
用256进制更佳。
2007-6-19 09:47 AM#5
查看资料  访问主页  发短消息  顶部
 
sunceenjoy
中级会员
Rank: 3Rank: 3
初级会员


UID 68584
精华 0
积分 259
帖子 246
金钱 259 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-2-13
状态 离线
[推荐阅读] apachetop


QUOTE:
原帖由 piaofengnet 于 2007-6-16 12:15 PM 发表
方法纠正.经过20W数据测试,使用正常
function StopIp($ip,$ip_str)
{
        if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
        $ip = explode(".",$i ...
这个好象有点问题。少了个?了
2007-6-19 11:03 AM#6
查看资料  Blog  发短消息  顶部
 
looking_for1
注册会员
Rank: 2


UID 78393
精华 0
积分 112
帖子 304
金钱 112 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-8-15
来自 hubei
状态 离线
[推荐阅读] 谁用eclipse开发PHP的
正则有些烦琐  
得好好看看了




爱我的人们,我一定会爱你们
2007-6-20 10:08 AM#7
查看资料  访问主页  Blog  发短消息  QQ  Yahoo!  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.025489 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP