求限制IP一段时间哪访问代码 asp的~

最近偶的动态导航站老是被别人刷流量(刷一次啊的站点就靠最前),已经快把偶刷哭了..偶是一只菜鸟.-_-实在不会写代码.唯有在这里向大家求救了...偶的思路是这个.想建个数... 最近偶的动态导航站老是被别人刷流量(刷一次啊的站点就靠最前),已经快把偶刷哭了..偶是一只菜鸟.-_-实在不会写代码.唯有在这里向大家求救了...
偶的思路是这个.想建个数据库记录来访者的IP.和第一次访问时间.
然后在这一段时间里该IP访问N次都只算一次.
例如.有IP访问站点.那么查询数据库中有没有该IP.
假如有就跳转页面
假如没有就记录该IP.并把数据库里第一次访问时间以满12小时的IP记录删除...
不知道这样行不行..偶实在不会写代码.-_-....全部分奉献了..虽然不多....但希望大家帮帮偶.
展开
 我来答
小狮子xmp
2008-02-06 · TA获得超过471个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:645万
展开全部
好了 代码写好了
你在你数据库里面新建立一个数据表,数据表里面有3列
表名:ip_user
表列1名称:编号 类型:自动编号
表列2名称:IP地址 类型:字符 长度 15以上
表列3名称:访问时间 类型:日期时间 默认值:now()

新建立一个ASP文件 把 以下代码复制进去

<%
ip=request.ServerVariables("REMOTE_ADDR") '获取来访的IP地址

dim conn
set conn=server.CreateObject("ADODB.connection")
conn.open "Dbq="&server.MapPath("yb/dat/data.mdb")&";Driver={Microsoft Access Driver (*.mdb)}" '建立数据库连接 这里你可以自己改

sql="select * from ip_user where ip地址='"&ip&"'"
set rs=server.CreateObject("ADODB.recordset")
rs.open sql,conn,3,3
if rs.eof then
call ip_fir("thenew")
else
vistime=rs("访问时间")
if DateDiff("h",vistime,now)>=12 then
call ip_fir("theup")
else
call ip_notfir
end if
end if
%>

<%'--------------为了你方便我都把他写成了过程代码
Sub Ip_fir(action)'---------------------第一次访问的过程
response.write "12小时内,你是第一次访问本站,这里贴上加流量代码"

if action="theup" then
rs("访问时间")=now()
rs.update
elseif action="thenew" then
sql1="insert into ip_user(ip地址) values ('"&request.ServerVariables("REMOTE_ADDR")&"')"
conn.execute(sql1)
end if
End Sub

Sub ip_notfir()''---------------------12小时内访问过的过程
'---------------------这里改成你期待的处理方式
response.write "你在最近12小时内访问过本站"
End Sub
%>

由于不知道你的数据表 所以写成了过程形式,
你可以修改过程中的代码,就可以很轻易实现你要的功能

在我本机上测试通过,百度真郁闷 我写代码时候的缩进全没了 可能看起费力点

回答完毕
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式