首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

一个asp防止恶意刷新页面程序

来源: 互联网    日期:2010-10-1
 

Tc711Com提示:.     

使用说明
1.在要保护的页面顶部加如对AntiRefresh.asp文件的引用如:
<!--#include file="AntiRefresh.asp" -->
2.接着添加调用代码
<%
   Const VarNameDateArr="www_tc711_com_App_DataArr" '队列名称
   Const VarNameIPArr="www_0816cy_com_App_IPArr"     '队列名称
   Dim objAntiRefresh
   Set objAntiRefresh= new AntiRefresh
   objAntiRefresh.BufferSize=100   '队列大小
   objAntiRefresh.CacheItemAvailTime=2 '间隔时间
   If Not objAntiRefresh.IsValidAccess() Then
     Set objAntiRefresh=Nothing
    Response.Write("您的访问过去频繁请2秒后再试.")
    Response.End()
   End If
   Set objAntiRefresh=Nothing

%>其中要注意的是
   Const VarNameDateArr=”www_domai_net_App_DataArr” ‘队列名称
   Const VarNameIPArr=”www_domai_net_App_IPArr”     ‘队列名称
比方你要在List.asp与search.asp中加入通一个防刷新器,那么你把上面的调用代码分别复制到这两个页面,或者保证两个页面的掉用代码一致。这样的效果是,你访问了List.asp页那么你在2秒内将不能访问List.asp或Search.asp页
如果你要2个页面独立,即你访问List.asp后,你会在2秒内不能再次访问List.asp,但是你可以访问Search.asp,反之毅然,那么你就要保证2个页面的 Const VarNameDateArr=”xxx”,Const VarNameIPArr=”xxx”不同,比方第一个也面你用xxxList,第个个页面用xxxSearch,
如:
   Const VarNameDateArr=”www_domai_net_App_DataArr_Search” ‘(_List)
   Const VarNameIPArr=”www_domai_net_App_IPArr_Search”     ‘(_List)

唠叨这些是给那么不太懂的朋友,以便他们能使用这些代码,如果你懂Asp那么以上的对你来说就很好理解了。

 

下面是AntiRefresh.asp文件源码

<%
'***************************************
'*         页面防刷新模块              *              
'***************************************

Class AntiRefresh

Private IPArr,DateArr
Private m_BufferSize
Private m_CacheItemAvailTime

Private Sub Class_Initialize()
   Application.Lock()
   m_BufferSize=100
   m_CacheItemAvailTime=2
 
End Sub
Private Sub Class_Terminate()
   Application.UnLock()
End Sub
Public Property Get CacheItemAvailTime
   CacheItemAvailTime=m_CacheItemAvailTime
End Property
Public Property Let CacheItemAvailTime(Value)
   m_CacheItemAvailTime=Value
End Property

Public Property Get BufferSize
   BufferSize=m_BufferSize
End Property

Public Property Let BufferSize(Value)
   m_BufferSize=Value
End Property

Private Sub EnsureArr()
   If IsArray(Application(VarNameDateArr)) Then
    DateArr=Application(VarNameDateArr)
   Else
    ReDim DateArr(BufferSize)
   End If
 
   If IsArray(Application(VarNameIPArr)) Then
    IPArr=Application(VarNameIPArr)
   Else
    ReDim IPArr(BufferSize)
   End If
End Sub

Public Function IsValidAccess()
   Dim ip,i
   ip=GetIP()
   IsValidAccess=True
   EnsureArr()
   For i=1 To BufferSize
    If IPArr(i)=ip Then
     If DateDiff("s",CDate(DateArr(i)),Now()) < CacheItemAvailTime Then
       IsValidAccess=False
       Exit Function
     End If 
    End If
   Next
   Call QueueHandle()
   DateArr(1)=Now()
   IPArr(1)=ip
   Application(VarNameIPArr)=IPArr
   Application(VarNameDateArr)=DateArr
End Function

Public Function ClearCache()
   Set Application(VarNameDateArr)=Nothing
   Set Application(VarNameIPArr)=Nothing
End Function

Private Sub QueueHandle()
   Dim i,j
 
   For i=BufferSize-1 To 1 Step -1
    DateArr(i+1)=DateArr(i)
   Next
   For j=BufferSize-1 To 1 Step -1
    IPArr(j+1)=IPArr(j)
   Next
End Sub

Private Function GetIP()
   Dim strIPAddr
   If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
    strIPAddr = Request.ServerVariables("REMOTE_ADDR")
   ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
    strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
   ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
    strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
   Else
    strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
   End If
   GetIP = (Trim(Mid(strIPAddr, 1, 30)))
End Function

End Class
%>



更多的一个asp防止恶意刷新页面程序请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2010-10-1   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报