GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ตรวจสอบว่าเพจถูกเรียกมาจาก Spider หรือไม่

ฟังก์ชั่น isSpider จะทำการตรวจสอบว่าเพจถูกเรียกใช้โดย Web Spider เช่น Google หรือ Yahoo หรือ MSN หรือไม่ โดยทำการตรวจสอบกับ Spder หลักๆ เท่านั้นครับ หากต้องการตรวจสอบกับ Spider อื่นๆ สามารถดูรายชื่อได้จาก List of Robot Agent

<?php  
    function isSpider( $user_agent )
    {
        $gent = strtolower( $user_agent );
        $known_spiders = array ( 'wisenutbot' , 'msnbot' , 'w3c_validator' , 'googlebot-image' , 'googlebot' , 'google-sitemaps' ,
            'mediapartners-google' , 'openbot' , 'yahoo! slurp' , 'fast-webcrawler' , 'wget' , 'ask jeeves' , 'speedy spider' ,
            'surveybot' , 'ibm_planetwide' , 'gigabot' , 'ia_archiver' , 'fast-webcrawler' , 'inktomi slurp' , 'appie' ,
            'feedburner/1.0' , 'feedfetcher-google' , 'omniexplorer_bot/6.68' , 'http://www.relevantnoise.com' ,
            'newsgatoronline/2.0' , 'ping.blo.gs/2.0' , 'jakarta commons-httpclient/3.0.1' , 'jakarta commons-httpclient/3.0-rc2' );
       
        foreach( $known_spiders as $spider )
        {
            if ( strpos( $gent , $spider ) !== false )
            {
                return true;
            };
        };
        return false;
    };

    if ( isSpider( $_SERVER[HTTP_USER_AGENT] ) )
    {
        // ถ้ามาจาก Spider
    }
?>

ประโยชน์ของฟังก์ชั่นนี้ก็แล้วแต่การใช้งานครับ เช่นการตรวจสอบเพื่อไม่ให้ SE เข้ามาในหน้าที่เราไม่ต้องการ หรือการควบคุมให้ SE ไปยังเส้นทางที่กำหนด
0SHAREFacebookLINE it!
^