[ASP.NET] 防止網頁被連續多次整理

  • 4683
  • 0
  • 2010-03-30

防止網頁被連續多次整理

在此範例中, 設定了二個變數來控制多次整理的狀態
一個是第一次讀取的時間
另一個是計數器
再結合session, 即可偵測使用者重新整理的次數
目前設定為1分鐘內只允許5次的讀取

其中MyBase的設計主要是可以提供繼承使用, 只要繼承此類別的程式皆會套用此功能

        If Trim("" & Session(MyBase.ToString & "ckSessionTime")) = "" Then
            Session(MyBase.ToString & "ckSessionTime") = Now
            Session(MyBase.ToString & "ckSessionTimes") = 1
        Else
            Session(MyBase.ToString & "ckSessionTimes") = Session(MyBase.ToString & "ckSessionTimes") + 1
        End If

        If Session(MyBase.ToString & "ckSessionTimes") > 5 Then
            If Now.Subtract(DateTime.Parse(Session(MyBase.ToString & "ckSessionTime"))).TotalMinutes < 1 Then
                Response.Write("<script>alert('請勿連續多次重新整埋!');</script>")
                Exit Sub
            Else
                Session(MyBase.ToString & "ckSessionTime") = ""
                Session(MyBase.ToString & "ckSessionTimes") = 0
            End If
        End If

-----------------------
Share is Power