正文:
如何用ASP实现封IP一段时间,比如某IP登录过一次后,那个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
可以通过用户组来进行控制
设立个你们班的用户组,然后把班级成员加进来,给予发帖跟帖权限,其他人都为游客组,就没有发帖权限了
设置用户权限
你就禁止注册算了。
只让你们班的人在里面。
你用的是什么,要根据软件来说