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
asp下实现IP限制函数代码
2019-10-04 19:56asp教程网 ASP教程
asp下实现IP限制函数代码
延伸 · 阅读
- 2019-10-06asp下利用XMLHTTP 从其他页面获取数据的代码
- 2019-10-04asp下IP地址分段计算函数
- 2019-10-04asp身份证验证代码函数
- 2019-10-04用Asp隐藏文件路径,实现防盗链 的代码
- 2019-10-04用asp实现网址和邮件地址的转换函数
- 2019-10-04asp下最简洁的多重查询的解决方案
精彩推荐
- ASP教程
asp提示Server 对象 错误 ASP 0178 : 80070005
今天帮客户配置好服务器以后测试程序发现asp程序提示Server 对象 错误 ASP 0178 : 80070005,经测试是因为权限问题。...
- ASP教程
asp vbcrlf是什么意思
vbcrlf生成的代码在查看源代码的时候是有换行的。...
- ASP教程
为google量身定做的sitemap生成代码asp版
看过的朋友可帮忙顶哦,这些代码都是第一次发的,外面很多要不就是很复杂,看不懂,要不就是不能用的,下面的我写时候已经尽量简洁明了...
- ASP教程
asp 中文乱码问题解决方法
不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...
- ASP教程
asp连接access、sql数据库代码及数据库操作代码
asp连接access、sql数据库代码及数据库操作代码,需要的朋友可以参考下...
- ASP教程
关于Asp代码与页面的分离模板技术
使用模板实现ASP代码与页面分离,以后用asp就可以更方便的前后台分开制作 ...
- ASP教程
ASP语言实现对SQL SERVER数据库的操作
目前有很多介绍用ASP开发网络数据库的程序例子,但绝大部分是利用ACCESS作底层数据库。相对于ACCESS而言,SQL SERVER数据库系统要复杂得多,因此在程序开发中需要多做一些工作。笔者结合自己开发管理信息系统的经验,在此试举一...
- ASP教程
ASP所有的Session变量获取实现代码
在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来达到目标...