如何防止網上投票重復投票(2)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:詳解Asp函數
      Cbool(string) 轉換為布爾值 Cbyte(string) 轉換為字節類型的值 Ccur(string) 轉換為貨幣類值 Cdate(string) 轉換為日前類型的值 Cdbl(string) 轉換為雙精度值 Cint(string) 轉換為整數值 Clng(string) 轉換為長整型的值 Csng(string) 轉換為單精度的值 Cstr(


      < % 
      Function IsCookiesOpen() 
      Dim ClientIP, URL, QueryString, IsNew 
       
      Application.Lock 
      If Session(“SessionID")=Session.SessionID Then  
      IsCookiesOpen = True 
      ClearApp 
      Exit Function 
      End If 
       
      IsNew = False 
      If Session(“SessionID") = Empty Then 
      CurrentIP =Request.ServerVariables 
      (“REMOTE_ADDR") 
      If CurrentIP <> Application(“IP") Then 
      ClearApp 
      IsNew = True 
      End If 
      End If 
      If Not IsNew And Application(“Visit") >= 1 Then 
      IsCookiesOpen = False 
      ClearApp 
      Exit Function 
      End If 
      Application(“Visit") = Application(“Visit") + 1 
      Application(“IP") =Request.ServerVariables 
      (“REMOTE_ADDR") 
      Session(“SessionID") = Session.SessionID 
       
      URL =“_page_=”&Request.ServerVariables 
      (“PATH_INFO") 
      QueryString=Request.ServerVariables 
      (“QUERY_STRING") 
      If Len(QueryString) > 0 Then URL = URL & “&" & QueryString 
      If Not Response.IsClientConnected Then ClearApp 
      End Function 
       
      Sub ClearApp() 
      Application(“Visit") = 0 
      Application(“IP") = “" 
      End Sub 
      % > 
       
      在.asp文件中直接用IsCookiesOpen()函數來判定 Cookies是否打開。  
       
      此種方法的漏洞:如果再打開一個新瀏覽器窗口,會發現在新打開的瀏覽器窗口中仍然可以投票。這是因為Session是私有的,一個Session中變量的改變并不影響另一個Session的同名變量的值。為了解決這個問題,下面給出方法二。 

      分享:解析用ADO連接各種數據庫的代碼
      簡單介紹一下幾種ADO連接方式:ODBCDSN,ODBCDSN-Less, OLEDBProvider,和MSRemoteProvider. 1。ODBCDSN連接 I.DSN oConn.OpenDSN=AdvWorks;_ UID=Admin;_ PWD=; 注意:從MDAC2.1開始就不能夠在使用這樣的方式了,就是只把DSN文件名放在ConnectString中

      來源:模板無憂//所屬分類:ASP教程/更新時間:2010-03-18
      相關ASP教程