Liam Delahunty: Home Tips Web Contact
Recommended laptop
under £500

Think I deserve a present? See my Amazon Wish List

Identifing the Googlebot

gethostbyname & gethostbyaddr

Seeing the post How to verify Googlebot post on the Official Google Webmaster Central Blog I'm looking into using gethostbyname & gethostbyaddr to help verify if the bot claiming to be Googlebot actually is.

Firstly, the Googlebot will be listed as the User Agent so we can test all requests to the page using a simple if statement.

So, from their post we know

Telling webmasters to use DNS to verify on a case-by-case basis seems like the best way to go. I think the recommended technique would be to do a reverse DNS lookup, verify that the name is in the domain, and then do a corresponding forward DNS->IP lookup using that name; eg:

> host domain name pointer

> host has address

I don't think just doing a reverse DNS lookup is sufficient, because a spoofer could set up reverse DNS to point to

// check if it's really the google bot and not some hideous spam thing.
    // it says it's the lovely google
    $ip = $_SERVER['REMOTE_ADDR'];
    $name = gethostbyaddr($ip);
    // Now we have the name, look up the corresponding IP address.
    $host = gethostbyname($name);
        if ($host == $ip){
            // lovely, let it in
            // evil, send it away
    // Liar, Liar, Pants on fire
    // Continue

Test result using known google IP of

The word googlebot is found in the $name returned by the getHostByAddr(IP). (

The $host IP address getHostByName($name) for the getHostByAddr(IP) equals that given and has passed. (

Your User Agent, IP Address, host by address and host by name



$name = gethostbyaddr($ip):

$host = gethostbyname($name):

On my Online Sales site, I published a script that will email you when the Googlebot visits.

See also:

Share this!  

Php Gethostbyaddr | Php Gethostbyaddr Googlebot | Php Google Referer


  Tips | Home | Search | Contact

Link here: