通过IP阻止用户

时间:2013-01-31 12:24:02

标签: php mysql

我需要使用IP进行阻止系统,因为我的旧系统失败了(实际上没有失败,请查看此链接以获取更多信息Stackoverflow - Cookies

好吧,我知道如何获取用户IP,当然还有将其存储在数据库中。 我的疑问是我如何指定到期时间以及如何在时间到期后在数据库中删除它,当然是自动的。例如......

  • 用户发表评论
  • 在数据库中存储用户IP 30秒
  • 用户在到期30秒之前无法再次发表评论
  • 从数据库到期后自动删除IP
  • 用户现在可以再次发表评论

抱歉我的英文。如果问题不明确,请告诉我,我会更好地解释。

@EDIT

好吧,恢复所有这一切,我怀疑是:

  • 我如何对数据库(字段和字段上的数据)到期的时间(例如,30秒)。
  • 如何删除已过期的行。

1 个答案:

答案 0 :(得分:0)

的MySQL

INSERT INTO `_table` (`ip_address`, `reason`, `expire`) VALUES ('10.10.10.10', 'I don\'t like what you did.', '1362268800');

该记录应该在数据库表中,并且我已将其设置为在2月31日到期。

//PHP Checking code.
$query = mysql_query("SELECT `reason` FROM `_table` WHERE `ip_address` = '".$_SERVER["REMOTE_ADDR"]."' AND `expire` > UNIX_TIMESTAMP() LIMIT 1");

if (mysql_num_rows($query)){
    $row = mysql_fetch_assoc($query);
    echo $row["reason"];
} //end if.

以上主动检查是否找到了查看者的IP地址,然后回应原因。