Я проверяю зрелые ncc db для кодов стран IP-адресов, чтобы предотвратить регистрацию в некоторых странах.
/**
* Get country code from Ip.
* @input IP number
* @output Country Code.
*/
function parse_ip($ip){
$DATABASE = "whois.ripe.net";
$info = '' ;
$sk= @fsockopen($DATABASE, 43, $errno, $errstr, 1) or error_log('Unable to connect to whois server');
if(!empty($sk)){
@fputs ($sk, $ip ."\r\n") or error_log ('Unable to send data to whois server in act_functions.inc from parse_ip()');
while (!feof($sk)){
$info.= fgets ($sk, 2048);
}
preg_match( '/^\x20*country\x20*:\x20*(\w{2})/im',$info, $country_code);
return $country_code[1];
}
else return false;
}
Есть некоторые адреса, которые, кажется, ими не управляют, как это возможно?
inetnum: 135.197.0.0 - 136.142.255.255
netname: NON-RIPE-NCC-MANAGED-ADDRESS-BLOCK
descr: IPv4 address block not managed by the RIPE NCC
https://apps.db.ripe.net/db-web-ui/#/query?bflag=true&dflag=false&rflag=false&searchtext=136.0.0.150&source=RIPE#resultsSection
Как я могу реализовать альтернативу, если блок не управляется?