我有一组IP地址,我使用in_array
拒绝以下代码中的人。
$deny = array("111.222.333.444","999.555.444.222");
if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) {
header("location: http://google.com/");
exit();
}
是否有in_array
使用数据库的替代方法。如果我有一个IP地址数据库,我如何检查数据库中的IP地址并使用标题重定向?
答案 0 :(得分:1)
假设MySQLi:
$query = "SELECT count(*) AS denied
FROM table_of_ips
WHERE ip = '".mysqli_real_escape_string($link, $_SERVER['REMOTE_ADDR'])."'
LIMIT 1";
$result = mysqli_fetch_assoc(mysqli_query($link, $query));
if ($result['denied']) {
header("location: http://google.com/");
exit;
}
本质上,只需选择IP与客户端IP匹配的地方,如果得到结果,就会被拒绝。