检查禁止功能

时间:2010-07-21 21:43:11

标签: php mysql

我在每个页面的顶部调用此函数。 我该怎么做才能删除过期的禁令呢?如果当前time()超过到期字段。 真的会帮助你。

禁止

  • ID
  • IP
  • 到期

(如果expire为NULL则为永久)

功能

function check_bans()
{

$user_ip = $_SERVER['REMOTE_ADDR'];

// Se if users ip is banned
$query = mysql_query("SELECT ip FROM bans WHERE ip = '$user_ip'");

// If they are, kill script and show message
if (mysql_num_rows($query))
    die('You have been IP banished. Expires: <b>Never</b>');

}

2 个答案:

答案 0 :(得分:2)

假设expire是DATETIME数据类型,请使用:

SELECT ip, expire
  FROM bans 
 WHERE ip = '$user_ip'
   AND expire >= CURRENT_TIMESTAMP

NOW()同样适用 - 它们是当前日期和时间的同义词。

答案 1 :(得分:1)

function check_bans()
{
  $user_ip = $_SERVER['REMOTE_ADDR'];
  $query = mysql_query("SELECT expire FROM bans WHERE ip='$user_ip' AND expire >= NOW()");
  if (mysql_num_rows($query) && $row = mysql_fetch_array($query)) {
    die("You have been IP banished. Expires: <b>".$row['expire']?$row['expire']:'Never'."</b>");
  }
}