访问localhost时,我的ip是什么?


What is my ip when visiting localhost

我做了一个只有特定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地址?