如何防止網(wǎng)上投票重復(fù)投票(3)_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(
方法二:利用Cookies對象
因為Cookies對象把變量的值保存在瀏覽器客戶端,所以可以根據(jù)Cookies保存的IsVoted的值來判斷用戶是否投過票。Cookies變量和Session變量一樣是私有的,但是如果我們定義了Cookies變量的生存期限,則Cookies變量是公有的,凡是從同一臺機(jī)器上登錄的用戶在規(guī)定的時間期限沒有達(dá)到時,都無法投票,這在一定程度上也能防止反復(fù)投票。實現(xiàn)程序流程如圖2:
根據(jù)實際情況合理地設(shè)置Cookies變量的生存期限的長短,例如設(shè)定為10分鐘,這樣一臺機(jī)器即使連續(xù)投票最多一天也只能投144張票。
此種方法的漏洞:在Windows 9x環(huán)境下,只要把 WindowsCookies目錄下所有*.txt文件刪除,又可重復(fù)投票。為了再進(jìn)一步防止反復(fù)投票,下面給出方法三。
方法三:驗證IP地址與登錄時間
此方法首先利用 Request.ServerVariables(REMOTE_ADDR)取得用戶的IP地址。在Web Server端建立一個標(biāo)準(zhǔn)的MDB類型的數(shù)據(jù)庫,此數(shù)據(jù)庫有一個表,該表只有兩個字段:IP地址和登錄時間。之所以設(shè)置登錄時間這個字段,是考慮到撥號上網(wǎng)用戶可能共用同一個IP地址,如果一個IP 地址只能投一次票,那么顯然不合理。同時,我們還采用方法二同樣的思想,必須每隔一個設(shè)定的時間段,同一個IP地址才能再次投票。所以這種方法比方法一、方法二在防止反復(fù)投票方面要嚴(yán)格得多。其實現(xiàn)的程序流程如圖3:
方法四:小范圍調(diào)查
這種方法只適用于小范圍調(diào)查,思想與方法三相同,只是把方法三中的 IP地址換成可以唯一代表用戶的字段,如學(xué)生證號、工作證號等。這時建立的MDB數(shù)據(jù)庫只包括兩個字段:證件號碼與IsVoted(其中IsVoted是邏輯型字段, TRUE表示已投過票,F(xiàn)ALSE表示還未投票,在建庫時所有記錄的IsVoted的值都設(shè)為 FALSE)。在投票之前,要求先輸入正確的證件號碼,然后再判斷IsVoted的值。實現(xiàn)這種方法的程序流程如圖4:
從方法一到方法四,安全性越來越高,防止重復(fù)連續(xù)投票功能越來越強(qiáng),但是各種方法都有各自的局限性。在應(yīng)用中,用戶應(yīng)根據(jù)實際情況選擇合適的方法。如果小范圍投票,方法四無疑是最好的;如果在Internet上投票,方法三是最好的。另外一點必須提及的是:雖然Application有保存變量的功能,但是我們沒有用到。因為 Application變量是一個全局性變量,如果用Application把IsVoted設(shè)為TRUE,則任何用戶都無法投票;如果用Application把IsVoted設(shè)為FALSE,則任何用戶都可以投票,就沒有任何防范功能了.
分享:解析用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 讀寫文件本文件實現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫實現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁模板:ASP內(nèi)建對象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁實現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-如何防止網(wǎng)上投票重復(fù)投票(3)。