我有一個應用程序與人們可以投票的圖像,我想檢查用戶的IP,不允許他再次投票。什麼是最好的辦法呢,我應該得到的IP和填寫.txt文件,每次用戶試圖投票生病檢查該文件,如果該IP不在文件中允許他?還是有更好的解決方案獲取用戶的IP地址,並檢查是否讓他再次投票php
-1
A
回答
3
可以得到用戶的是這樣的:
$users_ip = $_SERVER['REMOTE_ADDR'];
不要使用文本文件(因爲這將有損於你的硬盤,太多的I/O);而是使用數據庫。
當用戶到達投票腳本:
- 檢查這個IP有一個記錄在你的數據庫表
- 如果IP有一個記錄,檢查當用戶最後一次投票,並比較當前時間
如果從他的最後一投的時間跨度>它應該是什麼,讓他投,更新數據庫表爲IP「last_vote」
如果用戶沒有在數據庫記錄(第一選票) ;用ip和當前時間戳插入分表表格行
0
您還可以將cookie存儲一段時間間隔。如果用戶爲某個問題投票,那麼就爲該問題保存一個特定的cookie。
setcookie('voted'.$_POST['qid'], 'yes', time() + 4800 , "/");
如果問題是新的,那麼用戶可以投票。
+0
基於cookie的驗證是壞主意。用戶可以使用不同的瀏覽器或使用私人模式(FireFox)或隱身模式(Chrome)跳過/跳過它。 – Latheesan
相關問題
- 1. 檢查用戶是否投票投票
- 2. PHP檢查IP地址是否在IP地址範圍
- 3. 檢查用戶是否投票,如果不保存投票
- 4. 如何檢查用戶是否已投票進行投票?
- 5. 檢查客戶是否已投票
- 6. 在線投票的IP地址錄製
- 7. Rails按IP地址每次限制每天投票1次
- 8. 檢測用戶是否先前投票?
- 9. 每個IP地址一個投票
- 10. Python3檢查IP地址是否全球
- 11. 檢查用戶是否對某項民意調查投了票
- 12. 檢查用戶是否投票支持的最大項目數,他可以投票
- 13. 檢查是否有人投票
- 14. IP檢查再次蠻力
- 15. PHP:他們的IP地址允許用戶評論,並率只有一次
- 16. 獲取用戶的IP地址
- 17. 獲取網絡用戶的IP地址
- 18. Django:如何檢查用戶是否已經投票ManyToManyField?
- 19. 如何檢查用戶是否投票支持名人Rails 4?
- 20. 檢查用戶是否已經投票在後,在模板
- 21. 通過他的IP獲取用戶的地址詳細信息?
- 22. 檢查IP地址
- 23. 如何檢查IP地址是否有效?與php
- 24. 檢查IP地址表 - MySQL的PHP
- 25. 獲取使用PHP的用戶的IP地址
- 26. 獲取Facebook用戶IP地址
- 27. 從用戶獲取IP地址
- 28. 讀取IP地址和/檢查是否有效範圍之間
- 29. 使用PHP file_get_contents獲取IP地址
謝謝你看起來像一個堅實的解決方案,只有你有一個額外的信息。如果用戶投票,他不能再投票,我想讓我的生活更輕鬆:),只是把IP放在數據庫中,然後檢查IP是否在數據庫中有記錄,如果它已經通知用戶他已經投票。 – Alexandros