我想拒绝具有无效IP地址的访问者访问我的门户。这是一个好的解决方案吗?在PHP中拒绝具有无效IP地址的访问者
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = '';
if (filter_var ($ipaddress, FILTER_VALIDATE_IP) == false)
{
$ipaddress = '';
}
if ($ipaddress == '')
{
die();
}
谢谢!
如果他们有一个无效的IP地址,他们可能不会得到回应。此外,如果我花时间欺骗IP,我会使用一个可以验证的IP。 – chris85
某人使用'无效IP'地址将无法使用互联网,您需要一个有效的IP地址。也许你应该更确切地定义'无效'的含义? –
这篇文章似乎回答了你的问题。 https://stackoverflow.com/questions/7939905/how-to-detect-the-actual-ip-address-of-visitors?rq=1 –