获取用户IP地址并检查是否生病允许他再次投票php

时间:2014-05-13 09:48:42

标签: php ip

我有一个人们可以投票的图像应用程序,我想检查用户的IP以禁止他第二次投票。对于这个最好的方法是什么,如果我得到ip并填写.txt文件,并且每次用户尝试投票时检查该文件并且如果ip不在文件中允许他?还是有更好的解决方案

2 个答案:

答案 0 :(得分:3)

您可以像这样获得用户:

$users_ip = $_SERVER['REMOTE_ADDR'];

不要使用文本文件(因为这对你的硬盘有害,I / O太多);而是使用数据库。

当用户到达投票脚本时:

  • 检查此IP是否在您的数据库表中有记录
  • 如果IP有记录,请检查用户上次投票的时间并与当前时间进行比较
  • 如果从他上次投票的时间跨度>它应该是什么,让他投票,为那个IP更新数据库表" last_vote"

  • 如果用户在db(第一次投票)中没有记录;使用ip和当前时间戳

  • 插入db表行

答案 1 :(得分:0)

您还可以按时间间隔存储Cookie。如果用户投票支持某个问题,请保存该问题的特定Cookie,例如。

setcookie('voted'.$_POST['qid'], 'yes', time() + 4800 , "/");

如果问题是新的,那么用户可以投票。