如何防止網上投票重復投票_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:詳解Asp函數Cbool(string) 轉換為布爾值 Cbyte(string) 轉換為字節類型的值 Ccur(string) 轉換為貨幣類值 Cdate(string) 轉換為日前類型的值 Cdbl(string) 轉換為雙精度值 Cint(string) 轉換為整數值 Clng(string) 轉換為長整型的值 Csng(string) 轉換為單精度的值 Cstr(
ASP對象 ,在ASP中有5個對象:Request、Response、Session、 Application、Server。下面只針對本文能用到的對象屬性進行說明,其他方面的屬性請參考相關資料。本文提供的方法的原理是:設置一個邏輯變量IsVoted,在投票之前驗證IsVoted 的值,只有值為False時,才能投票,否則就認為已投過票。Application對象是處理某一特定ASP應用中所有用戶共享信息的對象,也就是說Application對象是所有聯網機器上所有網頁所共享的對象。由 Application對象所定義和設置的變量,所有用戶的所有網頁均可訪問。利用Application對象可以定義變量以及改變變量的值,其語法格式如下: Application(“變量名”)=表達式。在.asp 文件中可通過Application(“變量名”)加以引用。Application把變量的值保存在Web Server 端。
Session對象用于單個用戶管理信息,Session變量只在頁面間調用(即在一個Session內)。Session變量是私有的,一個Session中某個變量值的改變不影響另一個Session中同名變量的值。Session對象也把變量值保存在服務器端,但是各個Session保存的位置不同。因為Session是私有的,所以有多少個Session對象就存在多少個IsVoted變量,這些變量之間沒有關系。
Cookies對象是不能單獨存在的,它依附于Request和 Response對象,在使用時必須在Cookies前加上Request或Response。同Application和Session 一樣,Cookies也能保存變量的值,但是Cookies只在瀏覽器客戶端保存變量的值。用Cookies 所定義的變量有一個屬性:可以設置Cookies變量的使用期限,而且一旦設置了使用期限, Cookies變量可以被從同一臺機器上登錄的所有用戶所共享,我們可以利用Cookies的這個屬性設置間隔一定時間才能再次投票。
Server對象主要完成一些需要WWW服務器處理的工作,本文中我們主要利用Request.ServerVariables讀取Server的環境變量中客戶端的IP地址,并根據IP地址來設定相隔多長時間同一IP地址才能再次投票。
Global.asa文件完成共享變量和文件的定義及初始化任務。Global.asa文件必須位于ASP應用的根目錄下,一個ASP應用只能有一個Global.asa文件。Global.asa中含有Application_OnStart、Application_OnEnd、Session_OnStart、 Session_OnEnd四個事件,我們在Application_OnStart、Session_OnStart事件中定義 Application變量和Session變量以及進行初始化,這樣在以后的網頁中就可以讀取這些變量。 ASP在下列情況下讀取Global.asa內容:
1.在Web Server啟動之后,第一次請求調用ASP應用中的任何.asp文件時;
2.不在Session狀態的用戶請求調用ASP應用的.asp文件。
方法一:利用Session對象
在Global.asa的Session_OnStart事件中設置邏輯變量 IsVoted,初始值為FALSE(表示還沒有投票),投票之后在.asp程序中把IsVoted的值改為TRUE(表示已投過票)。每次投票之前都要判斷IsVoted的值。如果IsVoted的值為TRUE,就不能再投票;如果值為FALSE,則可以投票。
因為Session對象的使用必須與瀏覽器的Cookies功能相配合,所以在判斷IsVoted值之前,必須先判斷瀏覽器的Cookies功能是否打開。如處于關閉狀態,則此種方法失效,所以在這種情況下必須給出提示信息并用Response.End命令中斷.asp程序的執行,防止連續反復投票。其流程如圖1:
其中判斷Cookies是否打開的函數比較復雜,現給出函數實現代碼(VBScript)。
分享:解析用ADO連接各種數據庫的代碼簡單介紹一下幾種ADO連接方式:ODBCDSN,ODBCDSN-Less, OLEDBProvider,和MSRemoteProvider. 1。ODBCDSN連接 I.DSN oConn.OpenDSN=AdvWorks;_ UID=Admin;_ PWD=; 注意:從MDAC2.1開始就不能夠在使用這樣的方式了,就是只把DSN文件名放在ConnectString中
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-如何防止網上投票重復投票。