我写的一个,反正我是这么做的
在数据库中添加一个IP的表
通过添加程序添加IP,我把这个IP分成4段
然后通过下面的代码判断
<%
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
cus_ip=request.servervariables("remote_addr")
else
cus_ip=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
iptest = Split(cus_ip, ".")
sql="select * from ip where first='"&iptest(0)&"'" '如果IP地址的第一位验证存在,则开始验证第二位
set rs=conn.execute(sql)
if not rs.eof and not rs.bof then
do while not rs.eof
if rs("second")="*" then '如果IP地址的第二位为*,则转向
session("ip_error")="程序拒绝您现在所用的IP访问管理页面,请您更换IP后重新访问!"
Response.Redirect("../ip/ip_error.asp")
else '如果IP地址的第二位不为*,则还需要验证第三位
if rs("second")=iptest(1) then
if rs("third")="*" then '如果IP地址的第三位为*,则转向
session("ip_error")="程序拒绝您现在所用的IP访问管理页面,请您更换IP后重新访问!"
Response.Redirect("../ip/ip_error.asp")
else '如果IP地址的第三位不为*,则还需要验证第四位
if rs("third")=iptest(2) then
if rs("forth")="*" or rs("forth")=iptest(3) then
session("ip_error")="程序拒绝您现在所用的IP访问管理页面,请您更换IP后重新访问!"
Response.Redirect("../ip/ip_error.asp")
end if
end if
end if
end if
end if
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
当然这个是最简单的方法,也有局限性
还可以给楼主一个建议
就是留言加审核机制,只有通过管理员审核的留言才能显示,把数据库中加一个列就可以了
[此贴子已经被作者于2006-4-4 16:41:59编辑过]