'------------判断在IP段内一个IP是否为合法的函数----------------
function checkip(IpStart,IpEnd,Iptarget)
Array_Start=split(IpStart,".")
Array_End=split(IpEnd,".")
Array_Target=split(Iptarget,".")
dim isin
isin=1
haslarge=0
for i=0 to 2
if array_start(i)<array_end(i) then
haslarge=1
end if
next
if haslarge=1 then
aubound=255
else
aubound=array_end(3)
end if
for i=0 to 3
if i=3 then
if cint(Array_Target(i))>cint(aubound) or cint(Array_Target(i))<cint(Array_Start(i)) then
isin=isin*0
else
isin=isin*1
end if
else
if Array_Target(i)>Array_End(i) or Array_Target(i)<Array_Start(i) then
isin=isin*0
else
isin=isin*1
end if
end if
next
'------------------------数据库里只有对应一记录时适用-----------------
'if isin = 0 then
'Response.Write("<script language=javascript>alert('对不起!您的IP地址不在权限之类,系统将拒绝您的请求!');history.back()</script>")
'Response.End
'end if
'---------------------------------------------------------------------
checkip=isin
end function
'-------------------------调 用(数据库有多条记录)---------------------------
set rsd = conn.execute("select ip,ip1 from ip_rule where gid='"&newrs("lev")&"'")
'得到本机ip
localIP = Request.ServerVariables("LOCAL_ADDR")
dim temp
temp = 0
if not rsd.eof then
while not rsd.eof
if checkip(rsd("ip"),rsd("ip1"),localIP) then
temp = temp+1
end if
rsd.movenext
wend
rsd.close
set rsd = nothing
if temp=0 then
Response.Write("<script language=javascript>alert('对不起!您的IP地址不在权限之类,系统将拒绝您的请求!');history.back()</script>")
end if
end if