【发布时间】:2012-03-08 02:10:50
【问题描述】:
我尝试创建一个基于 ip 的拒绝列表,该列表将 ip 号存储在 mysql 中。基本上,如果用户的 ip 在数组中,我会尝试进行标头重定向,但它不起作用。怎么了?
$ip_array = array();
$ip_ban_query = mysql_query("SELECT ip FROM banned_ips");
while ($deny = mysql_fetch_assoc($ip_ban_query)){
$add_ip = $deny['ip'];
$ip_array[] = $add_ip;
}
if (in_array ($_SERVER['REMOTE_ADDR'], $ip_array)) {
header("Location: http://www.google.com/");
exit();
}
【问题讨论】:
-
不是重定向被禁IP吗?它根本不重定向吗?它究竟是如何“不工作”的?
in_array和括号之间有一个空格,但我不确定这是否重要。 -
什么都没有发生,它不是重定向。
-
您的代码看起来不错,您是在 localhost 上执行此操作的吗?您的 $ip_array 是否包含预期值?
-
我很抱歉这个愚蠢的问题,但我在查询之前忘记了数据库连接...这是工作太多的错误 :) 非常感谢。
标签: php mysql arrays http-headers