ip限制函数

2016-01-29 20:14 7 1 收藏

ip限制函数,ip限制函数

【 tulaoshi.com - ASP 】

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

'******************************
'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)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

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

来源:http://www.tulaoshi.com/n/20160129/1510898.html

延伸阅读
在有些系统中有这样的需求,希望内部网中的某几个IP地址连接互联网,而又希望这些IP地址不被非法用户盗用。可以通过下面的解决办法实现: 方法一: 首先使用ipchains或者iptables来设定只允许合法的IP地址连出。 对于合法IP建立IP/Mac捆绑。要讨论这个问题我们首先需要了解ARP协议的工作原理,arp协议是地...
标签: 电脑入门
在Linux操作中有时会遇到使用代理ip来访问的网站用户,这就需要配置Nginx限制其访问,下面图老师小编就给大家介绍下Linux系统中如何配置Nginx来拒绝代理ip访问。 先大概说说简单的结构前端一个Nginx反向代理,后端一个Nginx instance app for PHP实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打流量,而是针...
标签: 电脑入门
查找本地IP地址针对的是在使用路由器或者交换机等局域网内的用户,最常见的是多人通过路由器共享上网,对于这种情况查找本地IP地址非常简单,首先进入桌面,从左下角的开始里找到运行,在运行对话框中输入cmd命令,然后再CMD命令框中输入 ipconfig /all 再按回车键即可超找到本地IP地址; 网络IP地址是指我们连接上互联网中的IP地址,这个IP地...
标签: 电脑入门
什么是TCP.IP协议?概括的说TCP/IP协议是(传输控制协议/网间协议)TCP/IP 协议集确立了 Internet 的技术基础。全称Transmission Control Protocol/Internet Protocol。中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由 网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了...
标签: 电脑入门
在局域网中我们常常会遇到ip地址冲突的情况,其实是由于他人随意修改ip地址所造成的,本文为大家介绍一些禁止修改ip地址的方法。 怎样禁止修改ip地址第一招:切断改IP入口 修改ip一般是通过连接属性来修改的。我们可以禁用非管理人员访问连接属性来实现禁止修改ip。开始菜单-运行-输入 gpedit.msc-- 管理模板 -- 网络 -- 网络连接,然后...

经验教程

474

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部