我正在构建一个我需要登录用户的站点,但我只需要授予具有相同公共 IP 的用户的访问权限,因此我可以假设登录是从同一区域执行的。任何帮助将不胜感激,并且正在使用REMOTE_ADDR来尝试比较。
除了这种授权是不安全的之外,你应该使用这样的代码:
$ip = getIp();
$authIp = 'IP YOU WANT TO COMPARE TO';
if($ip == $authIp)
{
//access granted
}
function getIp(){
$ip = '';
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}