我做了一个只有特定ip地址才能访问的页面。
代码:// IP's that are allowed.
$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs
if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) {
header("Location: http://www.google.com"); //redirect
exit();
}
但是如果我访问我的本地主机,我不能访问它因为它说我的ip是0.0.0.0
在允许的范围内填写什么?
尝试在另一台设备上访问本地主机,并使用该ip
检查你是否得到一个有效的IP地址
试试这个:
$ip = !empty($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
var_dump($ip); // Check if IP is valid
$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs
if (!in_array($ip, $allow)) {
header("Location: http://www.google.com"); //redirect
exit();
}
参考:如何在PHP中获得客户端IP地址?