Comment detecter les bots sur mon site ?

Voilà d’une question amusante. Bien entendu, tu peux analyser tes logs. Mais dans ce cas, comment tu fais du cloaking ? J’ai une petite fonction PHP qui te permet de jouer facilement avec les bots sur les plages d’IP:

/**
 * Is_bot
 * traque la présence d'un bot par plage d'ip
 *
 * @param string $ip
 * @param array $array_bots
 * @return string|false
 */

function is_bot ($ip,$array_bots) {
    $ip = strval($ip);
    $reponse = false;
    foreach($array_bots as $bot=>$val) {
	foreach($array_bots[$bot] as $ip_bot) {
	    $reponse = strpos($ip,$ip_bot);
	    if ($reponse !== FALSE) return $bot;
	}
    }
    return $reponse;
}

Utilisation facile:

$bots = array(
    'google' => array('216.239.46','64.68.8','66.249.','64.233.173'),
    'yahoo' => array('66.196.','68.142.','202.165.','66.142.')
);

$test = is_bot('216.239.46.654',$bots); //renverra TRUE car 216.239.46 est présent dans l'ip
if($test != FALSE) {
    //action affichage bot ou cloaking ;)
    $bot = $test;
    echo "bot présent<br/>";
    echo $bot;
} else {
    echo "pas de bot";
}

Pour récupérer l’IP du visiteur, il suffit juste de remplacer l’IP de l’exemple par:

$_SERVER["REMOTE_ADDR"];

A vous de jouer!

Jérémy

Vous souhaitez recevoir davantage de trucs & d'astuces ? Tous les jours j'envois un mail à mes 6000 (et quelques) abonnés. Si ça vous dit, cliquez-ici pour vous inscrire

Les commentaires sont fermés.