求ASP限制同ip在一个小时内只能访问同一网页次数的代码
如:ASP限制同ip在一个小时内只能访问同一网页20次的代码.要完整能用的.最好不用数据库application怎么写?或者cookies除了数据库哪个比较实用?...
如:ASP限制同ip在一个小时内只能访问同一网页20次的代码.要完整能用的.
最好不用数据库 application 怎么写?或者cookies 除了数据库哪个比较实用? 展开
最好不用数据库 application 怎么写?或者cookies 除了数据库哪个比较实用? 展开
4个回答
展开全部
如果用数据库的话比较简单
set rs=conn.execute("select count(1) as loginnum from table where ip='"&ip&"' and page='"&page&"' and datediff("n",logintime,getdate())<=60 having count(1)>20")
if not isnull(rs(0)) then response.write "超20次"
缺点是比较占库,
其实你要实现的不过是让人不要频繁刷新减轻服务器压力,直接限制刷新的时间不就行了吗
<%
dim RefreshIntervalTime
RefreshIntervalTime = 3 '防止刷新的时间秒数,0表示不防止
If Not IsEmpty(Session("visit")) and isnumeric(Session("visit")) and int(RefreshIntervalTime) > 0 Then
if (timer()-int(Session("visit")))*1000 < RefreshIntervalTime * 1000 then
Response.write ("<meta http-equiv=""refresh"" content="""& RefreshIntervalTime &""" />")
Response.write ("刷新过快,请稍候")
Session("visit") = timer()
Response.end
end if
End If
Session("visit") = timer()
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Asp 防止网页频繁刷新一法 - webjx.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css">
</style>
</head>
<body style="background-color:#666666;font-size:36pt;font-family:黑体;color:#FFFFFF;">
页面内容,页面内容
</body>
</html>
set rs=conn.execute("select count(1) as loginnum from table where ip='"&ip&"' and page='"&page&"' and datediff("n",logintime,getdate())<=60 having count(1)>20")
if not isnull(rs(0)) then response.write "超20次"
缺点是比较占库,
其实你要实现的不过是让人不要频繁刷新减轻服务器压力,直接限制刷新的时间不就行了吗
<%
dim RefreshIntervalTime
RefreshIntervalTime = 3 '防止刷新的时间秒数,0表示不防止
If Not IsEmpty(Session("visit")) and isnumeric(Session("visit")) and int(RefreshIntervalTime) > 0 Then
if (timer()-int(Session("visit")))*1000 < RefreshIntervalTime * 1000 then
Response.write ("<meta http-equiv=""refresh"" content="""& RefreshIntervalTime &""" />")
Response.write ("刷新过快,请稍候")
Session("visit") = timer()
Response.end
end if
End If
Session("visit") = timer()
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Asp 防止网页频繁刷新一法 - webjx.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css">
</style>
</head>
<body style="background-color:#666666;font-size:36pt;font-family:黑体;color:#FFFFFF;">
页面内容,页面内容
</body>
</html>
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
展开全部
Set RS = Server.CreateObject("ADODB.Recordset")
Set RS1 = Server.CreateObject("ADODB.Recordset")
sql="select * from record where datediff("n",logintime,now())<=60"
sql1="select *from record"
RS.open sql,cn,1,1
times=RS.recordcount
RS.close
set RS=nothing
if times< 40 then
rs1.open sql1,cn,1,3
rs1.addnew
rs1("result")=getIP
rs1("logintime")=now()
rs1.update
rs1.close
set rs1=nothing
else
response.write "在限定时间内登录超过40次。"
end if
Set RS1 = Server.CreateObject("ADODB.Recordset")
sql="select * from record where datediff("n",logintime,now())<=60"
sql1="select *from record"
RS.open sql,cn,1,1
times=RS.recordcount
RS.close
set RS=nothing
if times< 40 then
rs1.open sql1,cn,1,3
rs1.addnew
rs1("result")=getIP
rs1("logintime")=now()
rs1.update
rs1.close
set rs1=nothing
else
response.write "在限定时间内登录超过40次。"
end if
参考资料: 百度一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题是你要怎么存储这个ip,使用application还是用数据库,还是用cookies
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就一个if语句搞定了 先存ip 比较ip是否存在 然后提示...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询