Mardi le 27 octobre 2009 à 22:56

Être notifié au passage du robot google sur son site

Par Mohammed CHERIFI

Google BotLe référencement est parmi les grands soucis qu’un webmaster ou blogueur peuvent avoir, A chaque fois qu’on rajoute du contenu, la question qui se pose est : Quand est ce que le robot de Google passera pour l’indexer ? Aujourd’hui j’ai eu l’idée de partager une petite astuce pour être alerté au passage de Google sur votre site!

En fait pour indexer un site, google possède plusieurs robots (spider/crawler), ce sont des programmes qui tournent en boucle en parcourant le web et enregistrent tous les contenus qu’ils trouvent sur leurs chemin! Il en existe plusieurs :

  • GoogleBot : c’est le robot qui indexe les pages de contenu
  • Googlebot-Image: celui qui indexe les images (images.google.com)
  • AdsBot-Google: le robot de Google Adsense
  • Mediapartners-Google: sert à indexer les sites et à proposer la publicité en conséquence dans le cadre d’une partenaria (exemple lycos)

Il est possible de détecter le passage de l’un de ces robots sur son site, l’idée est de faire un test sur la variable global $_SERVER['UserAgent'], qui contient le nom du navigateur qui a effectué la requête HTTP!

Voici un bout de code pour envoyer un mail à chaque passage de GoogleBot sur votre site :

if(!empty($_SERVER['HTTP_USER_AGENT'])
{
  if(strpos($_SERVER['HTTP_USER_AGENT'], 'googlebot') !== false)
  {
    $webmastermail = 'webmaster@domain.ltd';
    mail($webmastermail, 'Alerte Googlebot',"GoogleBot t'as rendu visite sur la page : " . $_SERVER['REQUEST_URI']);
   }
}

Et voilà, grâce à ce bout de code vous serai notifiés à chaque passage du robot Google sur votre site!

Parcontre ce n’est pas génial coté securité! Dans une requêtte HTTP l’entête HTTP_USER_AGENT est modifiable, du coup un utilisateur malveillant peut flooder votre boite mails avec un grand nombre de requêtes ayant UserAgent: Googlebot! La solution est de faire un lookup sur l’adresse IP envoyant la requête et résoudre le nom de domaine avec la fonction gethostbyaddr, si le nom de la machine ne correspond pas à *.googlebot.com pas d’envoi d’email ;)

if(!empty($_SERVER['HTTP_USER_AGENT'])
{
  if(strpos($_SERVER['HTTP_USER_AGENT'], 'googlebot') !== false)
  {
    if(preg_match('#.*?\.googlebot\.com$#',gethostbyaddr($_SERVER['REMOTE_ADDR'])))
    {
      $webmastermail = 'webmaster@domain.ltd';
      mail($webmastermail, 'Alerte Googlebot',"GoogleBot t'as rendu visite sur la page : " . $_SERVER['REQUEST_URI']);
    }
    else
    {
     // on peux bannir l'adresse en la rajoutant au fichier .htaccess
    /* if(is_writable('.htaccess'))
     {
       $h = fopen('.htaccess','a+');
       fwrite($h,"\nDeny from: ".$_SERVER['REMOTE_ADDR']);
       fclose($h);
      }
    */
    }
  }
}

A savoir que bannir l’utilisateur si le hostname ne correspond pas n’est pas une très bonne idée vu que google peut changer de domaine (*.googlebot.com), par contre ça vous évitera de recevoir un joli paquet d’emails, j’ai commenté cette partie du code pour éviter de bannir google si jamais *.googlebot.com change ;)

J’espère que cet astuce vous sera utile!

Bonne nuit!

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap
Tags :,

Articles similaires

  • No Related Post

7 Commentaires to Être notifié au passage du robot google sur son site

Avatar

mezgani

octobre 27th, 2009 at 23 h 35 min

Pas mal l’astuce de black listing, mais je pense si l’intrus
est au courant de ce mécanisme il pourait forger des packets en spoofant la source afin de causer un deni de service.

Avatar

Issam

octobre 27th, 2009 at 23 h 36 min

Merci pour le bout de code. Tu peux aussi facilement vérifier le passage du robot dans l’outil google webmaster !!

Avatar

Zouhir Bahij

octobre 28th, 2009 at 0 h 20 min

Nice topic brother

Avatar

fouad

octobre 30th, 2009 at 0 h 21 min

très intéressant, bonne continuation. merci

Avatar

UpDeL

octobre 31st, 2009 at 3 h 41 min

Faudra un nouveau article pour ton nouveau PR3 :D, congratulation !

Avatar

shugun

novembre 3rd, 2009 at 11 h 29 min

Sympa simo comme astuce, courage

Avatar

Thierry

avril 4th, 2010 at 11 h 35 min

Excellente astuce que j’utilise pour envoyer sélectivement la balise d’identification aux « user-agents » concernés (google, yahoo…).
En effet, ces tags ne regardent personne et ça fait toujours une ou deux lignes en moins à envoyer;^_^)
Juste 2 améliorations possibles :
1) utiliser stripos à la place de strpos qui est « case-sensitive »
2) rechercher uniquement le mot-clef « google » (ou « yahoo » ou autre) dans la chaîne de l’agent-user pour intercepter toutes les évolutions possibles du bot avec 1 seul test (comme « Mediapartners-Google », par exemple, qui retournera FALSE avec un test sur « GoogleBot »)

Cordialement, Thierry

Réagissez à ce billet

Categories

Derniers commentaires

  • Victor: Roseny : Pour avoir les mois en Français voici mon code : $dateWidget = new sfWidgetFormI18nDate(array(...
  • abdessamad: Salam, Salutation pour cet article, N.B :  » Un md5 est une chaine de caractère en hexadécimal...
  • 0x1337: Nice tuto bien structuré et synthétisé ! La question qui se pose est ce un attaquant peut faire un Privilege...
  • Roseny: Bonjour, comment fais-t’on pour mettre les mois en français?
  • Laurent: Bonjour Mohammed et merci pour ce tuto. Que faut-il modifier pour que le champ date soit en un seul bloc au...
  • Stack: dommage que le co.ma était hacké aussi
  • Technologix: Très bon article, gg ;)
  • Wail: très bien expliqué mon khoya, génial
  • UpDeL: Respect !
  • El King Zizou: trés bonne explication j’aimerai bien voir des autres articles des attaques sur le web :)...

Flickr PhotoStream

  • Au dessus des montagnes
  • Nuages
  • Insolite hopital marocain
  • Plage bouznika
  • Maroc Blog awars with vladimire
  • Linux Party 2010 - EMI (Maroc)
  • Mawazine 2008
  • Essaouira
  • Rabat Ville with baba mimoun
  • Fucking CowBoyz
  • Essaouira 2009 - En attente de l'arrivé du cheb khaled!
  • Linux Install party Mohammadia

Twitter Feed


Warning: fread() [function.fread]: Length parameter must be greater than 0 in /homepages/44/d193174039/htdocs/mcherifi/wp-content/plugins/wordpress-twitter/BiBTweets.php on line 199
  • mcherifi: Underground Parking System http://bit.ly/aI440T original! le 27 Jul 2010 10:58
  • mcherifi: @halflings un moment j'ai pensé qu'il s'agit d'une erreur, c'est en lisant bien que j'ai compris que ya aussi #freelansing lol le 27 Jul 2010 10:38 en réponse à halflings
  • mcherifi: Comment réaliser sa première photographie en freelensing? http://bit.ly/daZewv le 27 Jul 2010 09:45
  • mcherifi: Une nouvelle loi vient d’être adoptée en #Tunisie , elle intérdit les fessées données aux enfants! Qu'allez vous faire si c'était au #Maroc ? le 26 Jul 2010 16:57
  • mcherifi: Faut-il suivre ses passions ou s’orienter vers du lucratif ? http://bit.ly/99Nsiu le 26 Jul 2010 16:30
  • mcherifi: Safari v4 & v5 critical vulnerability in the AutoFill feature http://bit.ly/9yVKco #safari #security #autofill le 26 Jul 2010 14:41
  • mcherifi: RT: @agharass : Est ce que vous avez un compte http://meme.yahoo.com ? Plz RT le 24 Jul 2010 21:20
  • mcherifi: @A_T_J pas encore mon ami, la soirée vient à peine de commencer ;) ce n'est pas qu'on tweetant pas qu'on dors :P le 24 Jul 2010 03:06 en réponse à A_T_J
  • mcherifi: Trop drôle! Insultes de développeurs http://ping.fm/SKdvT #fordeveloppersonly le 20 Jul 2010 09:02
  • mcherifi: Si vous aimez les pentests voici un ISO pour s'entrainer avec l'OS le plus vulnérable au monde http://ping.fm/a5rKi #damnvulnerablelinux le 20 Jul 2010 08:58
  • mcherifi: Oulah! c'est mon 1000 tweet, Happy day à tous! le 20 Jul 2010 08:56
  • mcherifi: Frameworks PHP: Symfony vs CodeIgniter http://ping.fm/MnLvy le 14 Jul 2010 15:42
  • mcherifi: D'ici fin juillet, l'enveloppe annuelle de la compensation sera déjà épuisée ! Que va faire l'Etat ? http://ping.fm/t2ym2 le 14 Jul 2010 14:00
  • mcherifi: Real Social Dynamics Nation : Smart people http://ping.fm/g2zfw le 14 Jul 2010 11:26
  • mcherifi: just achieved all WabLab HackMe challenges http://bit.ly/dClKUj Actual Rank: Morocco 1, World 10, waiting for the next contests.. le 11 Jul 2010 16:52
  • mcherifi: le monde est fondé sur des conventions, ce que accepte la majorité est souvent ce qui est adopté même si il est faux! le 11 Jul 2010 10:49
  • mcherifi: Youpii, ma carte son Creative Sound Blaster Live marche à merveille sous Ubuntu Lucid lynx, VIVA LINUX <3 ! le 10 Jul 2010 22:20
  • mcherifi: si vous avez du mal avec les dns google voici une version standalone du chat audio/video dans gmail 3http://ping.fm/S76qv le 06 Jul 2010 15:32