Как проверить название страны, если не созрел ncc управляемый блок IP-адреса? - PullRequest
0 голосов
/ 21 марта 2019

Я проверяю зрелые 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

Как я могу реализовать альтернативу, если блок не управляется?

...