这是以前用ASP写的,本想改成ASP.net的给大家,后来想大家能看懂算法就行了。
ip比对的关键是ip地址的线性化
<%
'可以进入的ip
'218.7.44.0 - 218.7.45.253
'61.180.240.0 - 61.180.240.253
'202.118.208.0 - 202.118.223.253
'
'218.7.44.0 3657903103
'218.7.45.253 3657903612
'
'61.180.240.0 1035268095
'61.180.240.253 1035268348
'
'202.118.208.0 3396784127
'202.118.223.253 3396788220
ip=request.servervariables("remote_addr")
sip=split(ip,".")
num=cint(sip(0))*256*256*256+cint(sip(1))*256*256+cint(sip(2))*256+cint(sip(3))-1
response.write(ip)
response.write("<br>")
if ((num>=3657903103 and num<=3657903612) or (num>=1035268095 and num<=1035268348) or (num>=3396784127 and num<=3396788220)) then
response.write("抱歉,您的ip不合法!")
response.End()
else
response.write("您的ip合法")
end if
%>