我有一个应用程序与人们可以投票的图像,我想检查用户的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