我想拒絕具有無效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 –