asp下实现IP限制函数代码

IP限制函数

大家如果还有好的建议算法,就联系我!!:)

“******************************
“Function CheckIp(cInput_Ip,cBound_Ip)
“Created by qqdao, qqdao@263.net 2001/11/28
“说明:首先需要根据;号循环,然后判断是否含有"-",如果有则进行拆分处理,最后判断是否在范围内
“参数: cInput_Ip,代检查的ip
“ cBound_Ip,给定的范围格式为,单个ip,和范围ip,范围ip最后使用”-“分割,如果是“*”则必须放到最后一位
“ 每个范围后添加":ALLOW"表示允许登陆,添加":REFUSE"表示拒绝登陆。多个范围用”;“隔开
“ 例如192.168.1*.*:ALLOW;192.168.1.1:ALLOW;192.168.1.1-10:REFUSE"
“返回值: true/false
“更新:2001/12/05 支持ALLOW,REFUSE支持'*‘,不想对?支持,因为和*差不多
“******************************
function CheckIp(cInput_Ip,cBound_Ip)
dim cSingle_Ip,cTemp_IP,cStart_IP,cEnd_Ip
CheckIp = false
cSingle_Ip=split(cBound_Ip,";")

for i=0 to ubound(cSingle_Ip)
if Instr(cSingle_Ip(i),"REFUSE") <> 0 then “就是拒绝了
cTemp_IP = left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)

if Instr(cTemp_IP,"*") <> 0 then “是宽范围
cStart_IP = left(cTemp_IP,instr(cTemp_IP,"*")-1)
if left(cInput_Ip,len(cStart_IP))=cStart_IP then
CheckIp = false
exit function
end if
end if

if Instr(cTemp_IP,"-") = 0 then
cStart_IP = cTemp_IP
cEnd_Ip = cTemp_IP
else
cStart_IP = left(cTemp_IP,instr(cTemp_IP,"-")-1)
cEnd_Ip = left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
end if

if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)<=Ip2Str(cEnd_Ip) then
CheckIp = false
exit function
end if

elseif Instr(cSingle_Ip(i),"ALLOW") <> 0 then “允许

cTemp_IP = left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)

if Instr(cTemp_IP,"*") <> 0 then “是宽范围
cStart_IP = left(cTemp_IP,instr(cTemp_IP,"*")-1)
if left(cInput_Ip,len(cStart_IP))=cStart_IP then
CheckIp = true
end if
end if

if Instr(cTemp_IP,"-") = 0 then
cStart_IP = cTemp_IP
cEnd_Ip = cTemp_IP
else
cStart_IP = left(cTemp_IP,instr(cTemp_IP,"-")-1)
cEnd_Ip = left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
end if

if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)<=Ip2Str(cEnd_Ip) then
CheckIp =true
else
CheckIp =false
end if
end if
next

end function

“******************************
“Function Ip2Str(cIp)
“Created by qqdao, qqdao@263.net 2001/11/28
“参考动网ip算法
“参数:cIp ip地址
“返回值: 转换后数值
“******************************
function Ip2Str(cIp)
Dim str1,str2,str3,str4
Dim cIp_Temp
if cIp="127.0.0.1" then cIp="192.168.0.1"
str1=left(cIp,instr(cIp,".")-1)
cIp_Temp=mid(cIp,instr(cIp,".")+1)
str2=left(cIp_Temp,instr(cIp_Temp,".")-1)
cIp_Temp=mid(cIp_Temp,instr(cIp_Temp,".")+1)
str3=left(cIp_Temp,instr(cIp_Temp,".")-1)
str4=mid(cIp_Temp,instr(cIp_Temp,".")+1)

if isNumeric(str1)=0 or isNumeric(str2)=0 or isNumeric(str3)=0 or isNumeric(str4)=0 then

else
Ip2Str=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1
end if

end function 
 

(0)

相关推荐

  • asp下实现IP限制函数代码

    IP限制函数 大家如果还有好的建议算法,就联系我!!:) "****************************** "Function CheckIp(cInput_Ip,cBound_Ip) "Created by qqdao, qqdao@263.net 2001/11/28 "说明:首先需要根据;号循环,然后判断是否含有"-",如果有则进行拆分处理,最后判断是否在范围内 "参数: cInput_Ip,代检查的ip "

  • 做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)

    asp函数代码: 复制代码 代码如下: function checkip(checkstring)'用正则判断IP是否合法dim re1set re1=new RegExpre1.pattern="^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"re1.global=falsere1.Ignorecase=falsecheckip=re1.test(checkstring)set re1=nothingend function functio

  • asp代理采集的核心函数代码

    Function ProxyPage(url) Set Retrieval = CreateObject("MSXML2.ServerXMLHTTP.5.0") With Retrieval .SetProxy 2 , "255.0.0.0:80" '代理ip:代理端口 .Open "Get", url, False, "", "" .setRequestHeader "Referer"

  • asp 通用修改和增加函数代码

    接下来我利用一点空余时间发一个函数里面包含和添加和删除功能.实验的架构可以使用IIS.5WEB服务器ACCESS数据库.这个我其实不用说的很详细了,因为大家都应该知道的.我就直接把函数贴出来.大家只要稍微修改即可使用. 复制代码 代码如下: <% sub AdminEdit() dim Action,rsCheckAdd,rs,sql Action=request.QueryString("Action") if Action="SaveEdit" then

  • php删除文件夹及其文件夹下所有文件的函数代码

    复制代码 代码如下: <? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deld

  • asp下去除超链接的函数

    复制代码 代码如下: <% Function ReplaceUrl2(HTMLstr) Dim n,str1,str2,str3,str4 HTMLstr = Lcase(HTMLstr) For n=1 to Ubound(Split(HTMLstr,"<a")) str1 = Instr(HTMLstr,"<a") str2 = Instr(str1,HTMLstr,">") HTMLstr = left(HTMLst

  • asp.ne去除html的函数代码

    复制代码 代码如下: /// <summary> /// 过滤字符串中的html代码 /// </summary> /// <param name="Str"></param> /// <returns>返回过滤之后的字符串</returns> public static string LostHTML(string Str) { string Re_Str = ""; if (Str != n

  • asp下查询xml的实现代码

    现在有一个xml,格式如下: <date> <item> <id> 1 </id> <name> ABC </name> </item> <item> <id> 2 </id> <name> cde </name> </item> <item> <id> 3 </id> <name> efg </n

  • asp数字或者字符排序函数代码

    复制代码 代码如下: '排序 Function Sort1(ary) Dim KeepChecking,I,FirstValue,SecondValue KeepChecking = TRUE Do Until KeepChecking = FALSE KeepChecking = FALSE For I = 0 to UBound(ary) If I = UBound(ary) Then Exit For If ary(I) > ary(I+1) Then FirstValue = ary(I

  • js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)

    复制代码 代码如下: //获得客户端操作系统(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008) function GetOSInfo(){ var _pf = navigator.platform; var appVer = navigator.userAgent; if(_pf == "Win32" || _pf == "Windows") { if(appVer.indexOf("WOW64")>

随机推荐