ホームページ  >  記事  >  バックエンド開発  >  PHP は、個々の IP が Web サイトにアクセスすることを禁止します_PHP チュートリアル

PHP は、個々の IP が Web サイトにアクセスすることを禁止します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:25:28824ブラウズ

特定の IP が Web サイトにアクセスできないようにしたい場合は、その IP をブロックすることができます。この方法は以下で提供されます。以下のコードを見てください。

コードをコピーします コードは次のとおりです:

function get_ip_data(){  
    $ip=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".get_client_ip());
    $ip = json_decode($ip);
    if($ip->code){
        return false;
    }
    $data = (array) $ip->data;
    if($data['region']=='湖北省' && !isCrawler()){
        exit('http://www.a.net');
    }
}

function isCrawler() {
        $spiderSite= array(
                        "TencentTraveler",
                        "Baiduspider+",
                        "BaiduGame",
                        "Googlebot",
                        "msnbot",
                        "Sosospider+",
                        "Sogou web spider",
                        "ia_archiver",
                        "Yahoo! Slurp",
                        "YoudaoBot",
                        "Yahoo Slurp",
                        "MSNBot",
                        "Java (Often spam bot)",
                        "BaiDuSpider",
                        "Voila",
                        "Yandex bot",
                        "BSpider",
                        "twiceler",
                        "Sogou Spider",
                        "Speedy Spider",
                        "Google AdSense",
                        "Heritrix",
                        "Python-urllib",
                        "Alexa (IA Archiver)",
                        "Ask",
                        "Exabot",
                        "Custo",
                        "OutfoxBot/YodaoBot",
                        "yacy",
                        "SurveyBot",
                        "legs",
                        「lwp-trivial」、
「Nutch」、
「StackRambler」、
「ウェブアーカイブ(IAアーカイバー)」
「Perl ツール」、
「 ECrawler「,
」 WGet tools",
"larbin",
"魚の検索",
);
if(in_array($_SERVER['HTTP_ USER_AGENT']),$spiderSite)){
return true;
}else{
return false ;
}
}

//取客户端 ip

function get_client_ip()

{
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$_S ERVER["HTTP_X_FORWARDED_FOR"] ;
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}


http://www.bkjia.com/PHPjc/825056.html

tru​​ehttp://www.bkjia.com/PHPjc/825056.html技術記事特定の IP がネットワークにアクセスすることを想定せず、IP を封入することでこの方法が提供されます。次のコードを参照してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。