Asp下实现限制IP访问的程序代码

时间:2022-10-04 17:57:23
  1. <%  
  2. ''获取访问者的地址  
  3. ip=Request.ServerVariables("REMOTE_ADDR")   
  4.  
  5. ''允许的IP地址段为10.0.0.0~10.68.63.255  
  6. allowip1="10.0.0.0"  
  7. allowip2="10.68.10.71"  
  8. response.write checkip(ip,allowip1,allowip2)  
  9. function checkip(ip,allowip1,allowip2)  
  10. dim check(4)  
  11. checkip=false  
  12. ipstr=split(ip,".")  
  13. allow1=split(allowip1,".")  
  14. allow2=split(allowip2,".")  
  15. if cint(allow1(0))>cint(allow2(0)) then ''判断IP地址段是否合法  
  16. response.write "禁止访问"  
  17. exit function  
  18. end if  
  19. for i=0 to ubound(ipstr)  
  20. if cint(allow1(i))<cint(allow2(i)) then  
  21. if cint(allow1(i))=cint(ipstr(i)) then  
  22. check(i)=true  
  23. checkip=true  
  24. exit for  
  25. else  
  26. if cint(ipstr(i))<cint(allow2(i)) then  
  27. check(i)=true  
  28. checkip=true  
  29. exit for  
  30. else  
  31. if cint(ipstr(i))>cint(allow2(i)) then  
  32. check(i)=false  
  33. checkip=false  
  34. exit for  
  35. else  
  36. check(i)=true  
  37. checkip=true  
  38. end if  
  39. end if  
  40. end if  
  41. else  
  42. if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))<cint(ipstr(i)) then  
  43. check(i)=false  
  44. checkip=false  
  45. if i<>ubound(ipstr) then  
  46. exit for  
  47. end if  
  48. else  
  49. check(i)=true  
  50. end if  
  51. end if  
  52. next  
  53. if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then  
  54. checkip=true  
  55. end if  
  56. end function  
  57. %>