Détection de bots via ip et user-agent : base de données + règles maison

Vous en avez marre de voir votre trafic pollué par des robots qui faussent vos stats et plombent vos performances ? La détection de bots via IP et user-agent, c’est le premier rempart à mettre en place. Mais attention, se contenter d’une simple liste d’IPs ou d’un user-agent basique, c’est comme fermer la porte en laissant la fenêtre ouverte. Il faut une base de données solide, des règles maison bétonnées, et un flair de vétéran pour repérer les faux-nez numériques.

Pourquoi la détection de bots via ip et user-agent reste incontournable

À première vue, bloquer un bot avec son user-agent ou son adresse IP semble simple. Pourtant, les bots modernes sont plus rusés qu’un renard dans un poulailler. Ils changent de déguisement à chaque visite, utilisent des IP rotatives, ou se fondent dans la masse des visiteurs humains. Alors pourquoi s’acharner sur ces deux critères ?

Le poids des ip dans la détection

Les adresses IP sont la première ligne de défense. Des bases de données comme celles de Project Honey Pot, IP2Proxy, ou encore des listes noires mises à jour régulièrement, permettent de repérer :

  • Les IPs associées à des centres de données (cloud providers, VPN)
  • Les plages d’IPs suspectes ou connues pour héberger des bots
  • Les IPs de proxies et de TOR nodes

Mais attention, bloquer une IP à l’aveugle, c’est s’exposer à des faux positifs. Imaginez bloquer un VPN légitime ou un partenaire important. La clé est donc dans la qualité et la fraîcheur de votre base de données.

Le user-agent : un déguisement trop facile ?

Le user-agent est la signature que le navigateur ou le bot envoie au serveur. Les bots malins changent leur user-agent pour ressembler à Chrome, Firefox, ou même à Googlebot officiel. S’appuyer uniquement sur cette donnée, c’est comme reconnaître un voleur uniquement à son chapeau : souvent, il l’a changé.

Ça dit, certains user-agents sont des marqueurs clairs de bots basiques ou obsolètes. Par exemple :

  • « Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/) »
  • « curl/7.64.1 »
  • « Python-urllib/3.7 »

Pour les bots avancés, il faut combiner le user-agent avec d’autres indices.

Combinaison ip + user-agent : un cocktail gagnant

C’est là que ça devient intéressant. Un bot qui utilise une IP suspecte avec un user-agent outillé, ça sent le pâté à plein nez. Par contre, un user-agent bot sur une IP résidentielle inconnue, ça mérite un examen plus poussé. Cette combinaison permet d’affiner votre détection et de réduire les erreurs.

Construire une base de données ip et user-agent performante

Vous pouvez oublier les listes statiques que vous trouvez sur un forum poussiéreux. La maintenance d’une base de données vivante et pertinente est un travail de tous les jours, voire une obsession.

Sources fiables pour alimenter votre base

  • Bases open-source : IP2Proxy, Project Honey Pot, Spamhaus
  • Fournisseurs commerciaux : MaxMind, BrightCloud
  • Collecte maison : analyser vos logs, repérer les IPs qui génèrent des volumes anormaux ou des patterns suspects
  • Crowdsourcing : collaborer avec d’autres admins ou SEO pour partager les dernières détections

Organiser et structurer vos données

Votre base doit être classée par :

Type d’IP Exemple Action recommandée
IP de centres de données 3.5.140.0/22 (AWS) Blocage ou challenge CAPTCHA
IP de proxies 185.220.101.0/24 Surveillance renforcée
IP suspectes 45.77.24.0/24 Blocage temporaire
IP “blanches” IP clients réguliers Passage direct

Même principe pour les user-agents :

User-Agent suspect Description Action recommandée
curl/, wget/, python-urllib Bots simples/scripts Blocage automatique
Googlebot (vérifié) Bot SEO légitime Passage direct
User-agent custom inconnu Bots avancés ou inconnus Challenge CAPTCHA

Automatiser la mise à jour

Un cron job qui importe les listes, nettoie les doublons, et alimente votre base est indispensable. Sans ça, votre base devient vite un cimetière à IPs mortes, inutile et dangereux.

Écrire vos règles maison : la vraie différence entre amateur et pro

Les règles maison, c’est votre épice secrète. C’est là que vous transformez une base brute en système intelligent. Vous devez comprendre les comportements pour écrire des règles qui détectent les anomalies.

Exemples de règles efficaces

  • Taux de requêtes par IP : plus de 10 requêtes par seconde ? Directement suspect.
  • User-agent vs IP mismatch : user-agent mobile avec IP fixe d’un data center ? Ça cloche.
  • Analyse d’en-têtes HTTP : absence de certains headers comme « Accept-Language » ou « Referer » est souvent un signe de bot.
  • Patterns URL : accès répétitif à des endpoints API non destinés aux utilisateurs humains.
  • Temps de session : sessions de quelques secondes avec 100 pages vues, c’est du bot.

Implémentation logique (exemple php)

function isBot($ip, $userAgent, $rateLimit, $headers, $patternMatch) {
    $blacklistedIPs = loadBlacklistedIPs(); // votre base
    $blacklistedUserAgents = loadBlacklistedUserAgents();

    if (inarray($ip, $blacklistedIPs)) return true;

    foreach ($blacklistedUserAgents as $ua) {
        if (stripos($userAgent, $ua) !== false) return true;
    }

    if ($rateLimit > 10) return true;

    if (empty($headers['Accept-Language']) || empty($headers['Referer'])) return true;

    if (pregmatch('/(wp-login|xmlrpc|api/v1/)/i', $patternMatch)) return true;

    return false;
}

Détecter les faux positifs

Attention, une règle trop agressive tue votre trafic. Ajoutez toujours une phase de test avec logs détaillés, mettez en place un mode learning où les règles ne bloquent pas mais alertent. Puis ajustez au fur et à mesure.

Études de cas : quand la détection ip + user-agent sauve la mise

Un éditeur de site e-commerce a vu son taux de conversion chuter de 15 % en une semaine. En plongeant dans les logs, on a découvert une armée de bots simplets qui pompaient les pages produit, générant des centaines de milliers de requêtes par jour depuis des plages IP de data centers. Avec une base IP à jour et une liste user-agent bien rodée, ils ont bloqué ces bots. Résultat ? Les performances serveur ont bondi, et les vraies visites ont retrouvé leur place.

Un autre exemple, sur un blog tech, un bot déguisé en Googlebot utilisait des IP résidentielles pour scraper les contenus. Là, le user-agent seul ne suffisait pas. Après analyse des patterns HTTP headers et des timings, ils ont pu écrire des règles maison qui détectaient ces comportements.

Vous voulez vraiment passer pour un amateur ? Continuez à ignorer la puissance d’une détection de bots via IP et user-agent combinée avec des règles maison solides. Le web n’est plus un terrain de jeu pour les naïfs. Construisez, affinez, testez votre base de données, écrasez les faux positifs, et écrivez des règles aussi précises que du laser. C’est ça, le vrai boulot de pro pour protéger votre trafic, vos serveurs, et surtout votre business. Alors, prêt à mettre votre site à l’abri des parasites numériques ? Les bots ne vous feront plus passer à la caisse sans payer.

Laisser un commentaire