摘要:使用者瀏覽網頁時,伺服端可以獲取使用者的IP來做後續處理,而IP有一些「區間分類」,這些「區間分類」又叫「網段」。本紀錄僅針對IPv4做處理,且僅限在PHP的編寫環境下。
參考資料1:抓取IP網路
http://devco.re/blog/2014/06/19/client-ip-detection/
參考資料2:轉存小資料 ip2long和long2ip的用法
https://my.oschina.net/goal/blog/198049
//catch the ip address
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
if('localhost' == is_internal_ip($ip)){
$ip_location = '0';//本地
//echo "<script>alert('提示:此連線為本地連接');</script>";
}elseif(true == is_internal_ip($ip)){
$ip_location = '1';//內網
//...繼續
}else{
$ip_location = '2';//外網
if($_GET['mode']!='test'){
die('此網段無法登入');
} else{
echo "<span>測試模式</span></hr>";
}
//停止
}