最近學校導航站找我讓我給他們做一個投票系統的網站,我一口答應了,他們只是要求不准刷票情況出現,我也一口答應了。。我答應的太干脆了。
然後我便開始做這個網站,網站做出來沒花太多時間,並且我是用IP來判斷是否投過票,現在想起來,IP,唉,,,痛啊啊啊啊啊。
投票的前一天,我給導航站的看網站,他們覺得可以,並且希望只能用學校內網投票,然後又改,還好服務器是在學校裡面的,內網的IP可以直接訪問的,在IP處理這一方面直接用的是正則表達式,只允許172.16.0.0到172.32.255.255的IP投票,然後我天真的以為這樣就可以防止刷票了。
投票的第一天,很多隊伍都很為內網投票很頭疼,我告訴了他們可以用VPN連到校內網進行投票。我雖然是這麼一說了,但是萬萬沒有想到,每連一次VPN,IP就換一次,意思說刷票情況又出現了。為了防止這一情況,我設置了cookie,保存當前用戶投票的隊伍,若是刷票的話,下一票肯定還是這個隊,所以我就這麼做了,同時我還設置了驗證碼。我再次天真的以為刷票風雲就可以這麼結束了,可萬萬沒想到厲害的還在後面,先上一張圖:
("REMOTE_ADDR")
cookie是用的函數:
("ip",,("vote_id",,);
cookie的檢查:
['vote_id']==
class.phpmailer.php
郵箱發送的內容也是隨機一個10位的包括大寫小寫數字的驗證碼,發過去然後郵箱獲得後可以直接復制,同時這個驗證碼存入cookie裡面,這裡存session也可以的,然後讓用戶輸入驗證碼,判斷這個郵箱的驗證碼與cookie或者session中的是否一樣。
投票還沒有結束,但是起碼我看見了成效,沒有再刷票了。yeah~~~~
轉載請注明出處:http://www.cnblogs.com/yydcdut/p/3470105.html