php 實現 過濾國家ip訪問功能

GeoIP PHP實現案例
GeoIP數據庫是廣泛使用的商業IP數據庫,GeoIP數據庫免費版提供國家代碼的信息,也就是說能夠精確到IP地址所在地國家,如果你要更精確的IP地址定位,那麼你需要購買更高版本。

這裏給出一個GeoIP Lite版本的下載地址和簡單應用。

GeoIP 數據庫文件下載:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP....

GeoIP的PHP API文件打包下載地址:
http://geolite.maxmind.com/download/geoip/api/php/php-1.11.tar.gz

GeoIP查詢PHP腳本:

下面的代碼能夠給出訪問者IP的國家代碼與國家名稱

<?php
    //計時開始
    function utime() {
        $time = explode( " ", microtime() );
        $usec = (double)$time[0];
        $sec = (double)$time[1];
        return $usec + $sec;
    }
    $startTimes = utime();
 
    include("geoip.inc");
 
    // open the geoip database
    $gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
 
    // 獲取國家代碼
    $country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
    echo "Your country code is: <strong>$country_code</strong> <br />";
 
    // 獲取國家名稱
    $country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
    echo "Your country name is: <strong>$country_name</strong> <br />";
 
    // close the database
    geoip_close($gi);
 
    //運行結束時間
    $endTimes = utime();
    $runTimes = sprintf( '%0.4f', ( $endTimes - $startTimes ) );
    echo "Processed in " . $runTimes . "second.";
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章