Savoir si le visiteur est un robot d'un moteur de recherche

Contenu du snippet

Bonjour à tous,

J'ai développé cette source afin d'éviter de compter les visites des robots dans mes compteurs de visites/visiteurs/téléchargements.

Cette fonction renvoie true si le visiteur est un robot d'un moteur de recherche. L'analyse se fait sur l'adresse IP du visiteur, donc si l'adresse IP d'un des robot vient à changer le script sera inefficace, c'est pourquoi il faut penser à maintenir à jour la liste des adresses IP (tous les 6 mois je pense)

La liste que j'ai récupérée vient d'ici :
http://www.actulab.com/identification-des-robots.php
(un peu vieille, je sais pas si certaines adresses ont changées, si vous savez précisez le, merci ;)

Source / Exemple :


// Renvoie TRUE si le visiteur de la page est un robot d'un moteur de recherche
function IsVisitorBot() {

	// Tableau des adresses ip
	$IPtab[] = '66.249.';			// Googlebot
	$IPtab[] = '207.68.146.';		// MSN Bot
	$IPtab[] = '65.54.188.';		// MSN Bot
	$IPtab[] = '66.196.';			// Yahoo
	$IPtab[] = '68.142.';			// Yahoo
	$IPtab[] = '195.101.94.';		// Voila
	$IPtab[] = '64.241.243.65';		// Wisenut
	$IPtab[] = '209.249.67.1';		// Wisenut
	$IPtab[] = '64.241.242.177';	// Wisenut
	$IPtab[] = '66.77.73.';			// Fast
	$IPtab[] = '62.212.117.198';	// Deepindex
	$IPtab[] = '65.214.36.';		// Teoma
	$IPtab[] = '65.214.38.10';		// Teoma
	$IPtab[] = '212.127.141.180';	// Whalhello
	$IPtab[] = '213.73.184.';		// Whalhello
	$IPtab[] = '216.243.113.1';		// Gigablast
	$IPtab[] = '217.205.60.225';	// Mirago
	$IPtab[] = '62.119.21.157';		// picsearch
	$IPtab[] = '193.218.115.6';		// Szukacz
	$IPtab[] = '210.59.144.149';	// Openfind
	$IPtab[] = '66.237.60.22';		// Openfind
	$IPtab[] = '218.145.25.';		// Naver

	// Vérifie chaque adresse
	if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
		for($t = 0, $max = count($IPtab); $t < $max; ++$t) {
			if (strpos($_SERVER['REMOTE_ADDR'], $IPtab[$t]) === 0)
			{
			    return true;
			}
		}
	}
	return false;
}

Conclusion :


Si vous avez une liste plus à jour des adresses IP, merci de la proposer ;-)

En esperant que ça vous serve
MadMatt

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.