建一个表:IP
2个双精度的字段 IP_start与IP_end
存伫代码形式如下:
存伫的时候,将普通的IP转成双精度数字..
如果:
ip_start=request("ip_start")
ip_ary=split(ip_start,".")
ip_start=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
ip_and=request("ip_end")
ip_ary=split(ip_end,".")
ip_end=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
sql="select top 1 * from ip"
rs.open sql,conn,1,3
rs.addnew
rs("ip_start")=ip_start
rs("ip_end")=ip_end
rs.update
----------------------------------- 存伫完毕
查询:
ip=Request.ServerVariables("remote_addr")
ip_ary=split(ip,".")
tmp_ip=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
sql="select * from ip where ip_start<="&tmp_ip&" and ip_and>="&tmp_ip
rs.open sql,conn,0,1
if no rs.eof then
response.write("你的IP被封")
response.end
end if
2个双精度的字段 IP_start与IP_end
存伫代码形式如下:
存伫的时候,将普通的IP转成双精度数字..
如果:
ip_start=request("ip_start")
ip_ary=split(ip_start,".")
ip_start=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
ip_and=request("ip_end")
ip_ary=split(ip_end,".")
ip_end=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
sql="select top 1 * from ip"
rs.open sql,conn,1,3
rs.addnew
rs("ip_start")=ip_start
rs("ip_end")=ip_end
rs.update
----------------------------------- 存伫完毕
查询:
ip=Request.ServerVariables("remote_addr")
ip_ary=split(ip,".")
tmp_ip=ip_ary(0)*256*256*256+ip_ary(1)*256*256+ip_ary(2)*256+ip_ary(3)
sql="select * from ip where ip_start<="&tmp_ip&" and ip_and>="&tmp_ip
rs.open sql,conn,0,1
if no rs.eof then
response.write("你的IP被封")
response.end
end if
(出处: