Où sont les Bots ?


Une petite fonction sympa pour surveiller les Bots ( save en BDD ou cloaking )

L’interêt de cette fonction et de pouvoir traiter des tableaux multiples en redéfinissant des plages d’ip éventuelles des Robots ou tout autre recherche que vous souhaiteriez traquer

/**
 * 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:

$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";
}

Le code vous retourne donc un true ou false avec possibilité de reprendre le nom du bot.

, ,

Les commentaires sont fermés.