程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 關於PHP寫的投票網站之刷票風雲

關於PHP寫的投票網站之刷票風雲

編輯:關於PHP編程

  最近學校導航站找我讓我給他們做一個投票系統的網站,我一口答應了,他們只是要求不准刷票情況出現,我也一口答應了。。我答應的太干脆了。

  然後我便開始做這個網站,網站做出來沒花太多時間,並且我是用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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved