授权或限制某个IP段访问页面的ASP代码

由于工作需要,要在内网网页上加上授权访问的代码,防止外地轻易访问到单位的内部交流信息。在网上找了两段代码,都不适合,后来综合了一下还可以使用,特发布出来共享。

授权或限制某个IP段访问页面的ASP代码

<%
Function GetIP()
Dim IP
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
GetIP = IP
End Function%>
<%
''允许的IP地址段为10.0.0.0~10.68.63.255
allowip1="10.162.0.0"
allowip2="10.162.255.255"
if checkip(GetIP,allowip1,allowip2)=true then

else
Response.Write("您的"& GetIP &" IP地址禁止访问!请联系管理员!")
Response.End()
end if

function checkip(ip,allowip1,allowip2)
dim check(4)
checkip=false
ipstr=split(ip,".")
allow1=split(allowip1,".")
allow2=split(allowip2,".")
if cint(allow1(0))>cint(allow2(0)) then ''判断IP地址段是否合法
response.write "禁止访问"
exit function
end if

for i=0 to ubound(ipstr)
if cint(allow1(i))<cint(allow2(i)) then
if cint(allow1(i))=cint(ipstr(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))<cint(allow2(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))>cint(allow2(i)) then
check(i)=false
checkip=false
exit for
else
check(i)=true
checkip=true
end if
end if
end if
else
if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))<cint(ipstr(i)) then
check(i)=false
checkip=false
if i<>ubound(ipstr) then
exit for
end if
else
check(i)=true
end if
end if
next
if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then
checkip=true
end if
end function
%>

正文完
 0
正安一片瓦
版权声明:本站原创文章,由 正安一片瓦 于2014-03-12发表,共计1285字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码