注册 登录
编程论坛 ASP技术论坛

跪求了!!同一页面,同一IP,一分钟内只允许刷新10次,的代码!ASP代码

心碎无痕 发布于 2008-07-19 04:02, 1195 次点击
以前看见过一个ASP代码,  就是同一页面,同一IP,一分钟内只允许刷新10次的ASP代码,


网上有好多禁止刷新的, 可都是几秒钟内,禁止刷新,没有用,

我要的是同一IP,一分钟内只允许刷新10次的ASP代码,

帮帮忙,谢谢了!
4 回复
#2
multiple19022008-07-19 09:17
<%
 '我用Session代替IP。
If Session(lastTime)=Nothing Then Session("lastTime")=CStr(Hour(Now) & "_" & Minute(Now))
If Session("lastTime")=CStr(Hour(Now) & "_" & Minute(Now)) Then
If Session("lastTimeCount")=Nothing Then
    Session("lastTimeCount")=1
Else
    Session("lastTimeCount")=Session("lastTimeCount")+1
End If
Else
Session("lastTime")=CStr(Hour(Now) & "_" & Minute(Now))
End If
if Session("lastTimeCount")>10 Then
  Response.End
End If
%>

随便写的,可能在=Nothing那里有写法错误,那就换成别的判断为空的方法,最近在看别的语言,忘了一些。
另外,我用Session代替IP,用服务器的分钟,即1分30秒到2分30秒是允许刷新20次的。
#3
心碎无痕2008-07-20 09:53
不行,错的历害!!
#4
multiple19022008-07-20 12:42
其实我主要是想说明一个思路。不晓得你学到点什么没有。

确实错得厉害,一个是关于Nothing的判断上,一个是CStr函数用错了,还有就是有一个拼写错误。

刚才测试了也修改了,代码附在后面。一点点写一点点改,代码确实看起来比较累赘。

程序代码:

<%
If Session("lastTime")="" Then Session("lastTime")=Hour(Now) & "_" & Minute(Now)
If Session("lastTime")<>Hour(Now) & "_" & Minute(Now) Then
  Session("lastTime")=Hour(Now) & "_" & Minute(Now)
  Session("lastTimeCount")=0
End If
If Session("lastTime")=Hour(Now) & "_" & Minute(Now) Then
  If Session("lastTimeCount")="" Then
      Session("lastTimeCount")=1
  Else
      Session("lastTimeCount")=Session("lastTimeCount")+1
  End If
Else
Session("lastTime")=Hour(Now) & "_" & Minute(Now)
End If
if Session("lastTimeCount")>10 Then
  Response.End
End If
%>
#5
天涯听雨2008-07-22 20:48
的确上面写错好多代码…………
1