封IP的ASP代码的实现

2018-09-06 13:03

阅读:388

  建一个表:IP论坛封IP
建一个表: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


评论


亲,登录后才可以留言!