如何防止網(wǎng)上投票重復(fù)投票_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:詳解Asp函數(shù)Cbool(string) 轉(zhuǎn)換為布爾值 Cbyte(string) 轉(zhuǎn)換為字節(jié)類型的值 Ccur(string) 轉(zhuǎn)換為貨幣類值 Cdate(string) 轉(zhuǎn)換為日前類型的值 Cdbl(string) 轉(zhuǎn)換為雙精度值 Cint(string) 轉(zhuǎn)換為整數(shù)值 Clng(string) 轉(zhuǎn)換為長整型的值 Csng(string) 轉(zhuǎn)換為單精度的值 Cstr(
ASP對(duì)象 ,在ASP中有5個(gè)對(duì)象:Request、Response、Session、 Application、Server。下面只針對(duì)本文能用到的對(duì)象屬性進(jìn)行說明,其他方面的屬性請(qǐng)參考相關(guān)資料。本文提供的方法的原理是:設(shè)置一個(gè)邏輯變量IsVoted,在投票之前驗(yàn)證IsVoted 的值,只有值為False時(shí),才能投票,否則就認(rèn)為已投過票。Application對(duì)象是處理某一特定ASP應(yīng)用中所有用戶共享信息的對(duì)象,也就是說Application對(duì)象是所有聯(lián)網(wǎng)機(jī)器上所有網(wǎng)頁所共享的對(duì)象。由 Application對(duì)象所定義和設(shè)置的變量,所有用戶的所有網(wǎng)頁均可訪問。利用Application對(duì)象可以定義變量以及改變變量的值,其語法格式如下: Application(“變量名”)=表達(dá)式。在.asp 文件中可通過Application(“變量名”)加以引用。Application把變量的值保存在Web Server 端。
Session對(duì)象用于單個(gè)用戶管理信息,Session變量只在頁面間調(diào)用(即在一個(gè)Session內(nèi))。Session變量是私有的,一個(gè)Session中某個(gè)變量值的改變不影響另一個(gè)Session中同名變量的值。Session對(duì)象也把變量值保存在服務(wù)器端,但是各個(gè)Session保存的位置不同。因?yàn)镾ession是私有的,所以有多少個(gè)Session對(duì)象就存在多少個(gè)IsVoted變量,這些變量之間沒有關(guān)系。
Cookies對(duì)象是不能單獨(dú)存在的,它依附于Request和 Response對(duì)象,在使用時(shí)必須在Cookies前加上Request或Response。同Application和Session 一樣,Cookies也能保存變量的值,但是Cookies只在瀏覽器客戶端保存變量的值。用Cookies 所定義的變量有一個(gè)屬性:可以設(shè)置Cookies變量的使用期限,而且一旦設(shè)置了使用期限, Cookies變量可以被從同一臺(tái)機(jī)器上登錄的所有用戶所共享,我們可以利用Cookies的這個(gè)屬性設(shè)置間隔一定時(shí)間才能再次投票。
Server對(duì)象主要完成一些需要WWW服務(wù)器處理的工作,本文中我們主要利用Request.ServerVariables讀取Server的環(huán)境變量中客戶端的IP地址,并根據(jù)IP地址來設(shè)定相隔多長時(shí)間同一IP地址才能再次投票。
Global.asa文件完成共享變量和文件的定義及初始化任務(wù)。Global.asa文件必須位于ASP應(yīng)用的根目錄下,一個(gè)ASP應(yīng)用只能有一個(gè)Global.asa文件。Global.asa中含有Application_OnStart、Application_OnEnd、Session_OnStart、 Session_OnEnd四個(gè)事件,我們?cè)贏pplication_OnStart、Session_OnStart事件中定義 Application變量和Session變量以及進(jìn)行初始化,這樣在以后的網(wǎng)頁中就可以讀取這些變量。 ASP在下列情況下讀取Global.asa內(nèi)容:
1.在Web Server啟動(dòng)之后,第一次請(qǐng)求調(diào)用ASP應(yīng)用中的任何.asp文件時(shí);
2.不在Session狀態(tài)的用戶請(qǐng)求調(diào)用ASP應(yīng)用的.asp文件。
方法一:利用Session對(duì)象
在Global.asa的Session_OnStart事件中設(shè)置邏輯變量 IsVoted,初始值為FALSE(表示還沒有投票),投票之后在.asp程序中把IsVoted的值改為TRUE(表示已投過票)。每次投票之前都要判斷IsVoted的值。如果IsVoted的值為TRUE,就不能再投票;如果值為FALSE,則可以投票。
因?yàn)镾ession對(duì)象的使用必須與瀏覽器的Cookies功能相配合,所以在判斷IsVoted值之前,必須先判斷瀏覽器的Cookies功能是否打開。如處于關(guān)閉狀態(tài),則此種方法失效,所以在這種情況下必須給出提示信息并用Response.End命令中斷.asp程序的執(zhí)行,防止連續(xù)反復(fù)投票。其流程如圖1:

其中判斷Cookies是否打開的函數(shù)比較復(fù)雜,現(xiàn)給出函數(shù)實(shí)現(xiàn)代碼(VBScript)。
分享:解析用ADO連接各種數(shù)據(jù)庫的代碼簡單介紹一下幾種ADO連接方式:ODBCDSN,ODBCDSN-Less, OLEDBProvider,和MSRemoteProvider. 1。ODBCDSN連接 I.DSN oConn.OpenDSN=AdvWorks;_ UID=Admin;_ PWD=; 注意:從MDAC2.1開始就不能夠在使用這樣的方式了,就是只把DSN文件名放在ConnectString中
相關(guān)ASP教程:
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-如何防止網(wǎng)上投票重復(fù)投票
。