投票系統 如何限制單位時間內投票次數

2021-09-26 04:16:14 字數 1193 閱讀 8984

限制對於防止倒票沒有什麼絕對的好方法,尤其是使用者不需註冊的情況下的投票,我們來看看有那些方法來防止倒票:

1.session  採用session物件防止重複投票好像還不錯,如果您利用單一瀏覽器進行測試,確實可以證明session具有防止重複投票的功能,實際上開啟另乙個瀏覽器,session變了,那麼又可以投票了.為什麼呢?因為每乙個執行中的瀏覽器對應乙個session物件,雖然我們可以設定第乙個瀏覽器的session值,但是第二個.第三個.....無法設定了..

2.cookie   一般利用cookie進行設定,主要是設定cookie的失效時間,也就是在這段時間內,這台電腦的資訊被cookie儲存,你可以做允許的事情,這樣我們可以利用其進行投票,比如說登入的時候將client的ip位址賦值給cookie,cookies("value").expires="12/31/2999";使用者登入的時候,我們檢查cookie是否有值,來決

定他是否有許可權進行投票.這種方法比session應該好多了,重啟,開啟多個瀏覽器都被cookie左右,但是致命的一項是cookie是可以清除的,這樣我們的設定又輕易的被破解了.

3.ip+資料庫 這是目前還算有效但是不是絕對有效的方法,下面的示例將記錄我做的教師測評的限制ip的原始碼.使用者登入的時候,取得client端的ip,並且與系統資料庫儲存的ip比較(系統儲存的資料可以按照時間的

降序排列,這樣如果有重複ip,我們只比較最上面的那條就可以了,具體看**!):如果相同的話,再次比較時間,如果兩者時間差超過半小時則可以投票,否則警告資訊:一台電腦半小時內

只能投票一次;如果不相同的話,就是說明這個ip沒有投票過,那麼可以進行投票,同時更新ip和時間紀錄!這種方法也有一致命的漏洞---動態ip位址,比如adsl還有其它的動態變化的ip等等,這樣也就失去作用

了(由於我們學校是靜態ip,所以我這樣做啦,o(∩_∩)o...哈哈).

4.ip+cookie 這種方法又多了一層保障,但是對於動態ip位址+刪除cookie的組合來說還是可以破解的.

5.mac 網絡卡的實體地址在世界唯一,我們可以通過網絡卡的mac位址(實體地址)來進行鎖定電腦,這方法看起來不錯,但是很多軟體都能製造偽mac位址....

6.就是使用者註冊id投票,這樣限制乙個id只能投票一次或者單位時間內只能投1次效果是非常好的,但是乙個人也可以註冊很多使用者id啊!!所以上述6中方法沒有一種是100%有效的方法,大家根據自己所需,按照自己的要求選擇,所謂防君子,不防

小人嘛o(∩_∩)o...哈哈

投票系統 如何限制單位時間內投票次數

限制對於防止倒票沒有什麼絕對的好方法,尤其是使用者不需註冊的情況下的投票,我們來看看有那些方法來防止倒票 1.session 採用session物件防止重複投票好像還不錯,如果您利用單一瀏覽器進行測試,確實可以證明 session具有防止重複投票的功能,實際上開啟另乙個瀏覽器,session變了,那...

談談單位時間內投票次數限制

我們來看看有那些方法來防止倒票 1.session 採用session物件防止重複投票好像還不錯,如果您利用單一瀏覽器進行測試,確實可以證明session具有防止重複投票的功能,實際上開啟另乙個瀏覽器,session變了,那麼又可以投票了.為什麼呢?因為每乙個執行中的瀏覽器對應乙個session物件...

基於RBAC的範圍限制單項許可權系統設計清單

範圍限制單項許可權系統設計清單 許可權設計系統大體分等級許可權系統 範圍限制許可權系統 範圍限制單項許可權系統三種。筆者正在開發乙個b2b專案,其中許可權設計採用了範圍限制單項許可權系統。相關資料庫表設計清單如下,希望可以方便更多的人,也希望各位朋友指出其中不恰當之處,不勝感激!1,使用者表 儲存系...