1 OR `count` <1") or die(mysql_error()); } else { // IP connue if ($row = mysql_fetch_assoc($result)) { // var_dump($row["sec_since_last"]); if ($row["sec_since_last"] < 60) { // Depuis moins d'une minute => l'IP représente toujours la même personne if ($row["sec_since_last"] < 2) { // Le hit est rapproché => on multiplie $count par 2 $count += $count*2; } else if ($row["sec_since_last"] > 10) { // Bonus à l'attente entre 2 pages $row["sec_since_last"] += 5; } else if ($row["sec_since_last"] > 4) { $row["sec_since_last"] += 2; } // on applique une réduction de 1 count par 1/$average_max_browsing_speed secondes // => L'attente moyenne entre 2 pages vues doit être supérieure à 1/$average_max_browsing_speed secondes $count = max(0, (int)$row["count"] + (int)$count - (int)floor($row["sec_since_last"] * $average_max_browsing_speed)); } $sql_query = " UPDATE `ipchecks` SET `count`='" . $count . "', `datetime`=now() WHERE `public_ip`='" . $public_ip . "' AND `private_ip`='" . $private_ip . "'"; mysql_query($sql_query) or die(mysql_error()); } } mysql_free_result($result); mysql_close(); // Déconnexion prioritaire car prochaine requête dans 0,05 s //if ($Vip == '66.249.65.40') {var_dump($count);} if ($count > 50) {// Trop de pages demandées en un laps de temps court $sleeping = $count-50; // On regarde si on a affaire à un robot foreach($good_bots as $good_bot_ip) { $good_bot_ip_parties = explode('.', str_replace(array('.00','.0','. ', ' '), array('.','.','',''), $good_bot_ip)); // On néttoie l'IP et on sépare chaque bout $i=0; foreach($good_bot_ip_parties as $partie) { // On va comparer chaque bout d'IP avec l'IP du visiteur if ((int)$partie < 10) $partie = "00" . $partie; // on ajoute les zéros éventuels pour mettre sur 3 chiffres else if ((int)$partie < 100) $partie = "0" . $partie; //var_dump($partie); var_dump($parties[$i]); if ($partie !== $parties[$i]) { // si un bout d'IP différe, c'est que c'est pas un robot $is_search_bot = false; break; } else { // si le bout d'IP est identique, c'est le début d'un robot, on continue $is_search_bot = true; $i++; } } if ($is_search_bot) break; //Si on a comparé tous les bouts et qu'on a vraiment un robot, on arrete la boucle } // On pénalise le visiteur if ($is_search_bot) { // Si c'est un moteur de recherche sleep(min($sleeping, 2)); //on fournit la page dans TOUS LES CAS avec au pire un petit délai de qques sec //if ($sleeping > 100) mail ("julien.touze@gmail.com", "[Count = $count] Search_bot_sleep:$sleeping sec - $Vip - $Vdate", $sql_query, "From: banmaster@animjobs.com"); } else if ($sleeping > 20) { //mail ("julien@kitgrafik.com", "[Count = $count] ($is_search_bot) Dead - $Vip - $Vdate", $sql_query, "From: banmaster@kitgrafik.com"); die('Votre sollicition du site Animjobs semble élevée, le Serveur est passé en mode restreint...
Merci de réessayer dans quelques instants ou veuillez contacter le responsable du site si le problème persiste'); } else { sleep(min($sleeping, 5)); } } //var_dump($count); } } ?>Unable to connect to database server!