- '******************************
- '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-16 09:53asp代码网 ASP教程
ASP中实现限制IP的函数详解
延伸 · 阅读
- 2019-10-16为什么ASP中执行动态SQL总报错误信息?提示语句
- 2019-10-16Asp下实现限制IP访问的程序代码
- 2019-10-16asp下DateDiff 函数参数说明
- 2019-10-16asp下调试程序的debug类
- 2019-10-16用asp实现网页邮箱访问的方法
- 2019-10-16编写一个含二级目录的源码(Asp+JavaScript)
精彩推荐
- ASP教程
asp连接SQL和Access数据代码(asp里的随机函数)
asp连接SQL和Access数据代码,asp里的随机函数,需要的朋友可以参考下...
- ASP教程
使用asp下的adodb.stream 下载文件而不是打开
在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里。而在很多时候我们希望能直接弹出下载提示框让用户下...
- ASP教程
隐藏修改文件时间和文件属性的ASP脚本
隐藏并修改文件的最后修改时间的aspshell,所有大家以后在查找木马的时候不能简单的根据时间来判断。...
- ASP教程
asp读取excel表名的实现代码
excel在实际中,还有大量应用,今天就拿到一堆的excel文件,需要对里面的数据做下读取另作他用,这里就涉及到了asp遍历excel的所有表名。...
- ASP教程
几种另类的ASP后门
几种另类的ASP后门...
- ASP教程
用asp实现网页调用doc附Response.ContentType 详细列表
最近研究一下如何用网页调用doc,最好能直接打开就成功了. ...
- ASP教程
asp的SQL语句中and和or同时使用的注意事项
这篇文章主要介绍了asp的SQL语句中and和or同时使用的注意事项,需要的朋友可以参考下...
- ASP教程
ASP中实现的URLEncode、URLDecode自定义函数
这篇文章主要介绍了ASP中实现的URLEncode、URLDecode自定义函数,和ASP自带的server.urlencode是不一样的哦,需要的朋友可以参考下 ...