En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.
Beamreactor, WYSIWYG web engines: home

Lecteur Markdown

botsniffer Documentation › BOTSNIFFER_DOCUMENTATION

Botsniffer Documentation

Botsniffer - Bot Statistics #

Statistiques et analyse des visites de bots.

Namespace: Beamreactor\Plugins\Botsniffer

Version: 2.0.0

Niveau requis: BOTSNIFFER_LEVEL_HIGHUSER

Vue d'ensemble #

Module de surveillance des bots visitant le site. Enregistre les visites, les corrèle avec la base de données des bots connus (botdb), et fournit des statistiques avec analyse de risque.

Fonctionnalités #

  • Journalisation des visites de bots
  • Corrélation avec la base botdb
  • Calcul du risque moyen
  • Détection des bots inconnus
  • Ajout de nouveaux bots à la base
  • Purge des logs
  • Pagination des résultats

Actions (paramètre botaction) #

| Valeur | Action | Description |

|--------|--------|-------------|

| $dialbot[2] | Purge | Vide la table botsniffer |

| $dialbot[3] | Stats | Affiche les statistiques agrégées |

| $dialbot[9] | Bot list | Liste les bots connus |

Actions (paramètre botedit) #

| Valeur | Action |

|--------|--------|

| $dialbot[11] | Affiche le formulaire d'ajout |

| 1 | Traite l'ajout d'un nouveau bot |

Structure des tables #

botsniffer #

sql
CREATE TABLE botsniffer (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ip VARCHAR(45),
    useragent TEXT,
    tstamp DATETIME,
    INDEX (tstamp),
    INDEX (ip)
);

botdb #

sql
CREATE TABLE botdb (
    id INT AUTO_INCREMENT PRIMARY KEY,
    trigger VARCHAR(30) NOT NULL,
    botname VARCHAR(200),
    url VARCHAR(255),
    category VARCHAR(30) DEFAULT 'unknown',
    risk TINYINT DEFAULT 0,
    firstvisit DATE,
    lastvisit DATE,
    UNIQUE KEY (trigger),
    INDEX (category)
);

Catégories #

| Clé | Description |

|-----|-------------|

| search_engine | Moteurs de recherche |

| ai_crawler | Crawlers IA |

| social_media | Réseaux sociaux |

| monitoring | Services de monitoring |

| archiver | Archiveurs |

| feed_reader | Lecteurs de flux |

| seo_tool | Outils SEO |

| malicious | Bots malveillants |

| unknown | Non identifiés |

Niveau de risque #

Échelle 0-9. Les bots inconnus reçoivent un risque par défaut de 3.

Le module calcule :

  • Risque moyen : Σ(hits × risk) / total_hits
  • Pourcentage inconnus : unknown_hits / total_hits × 100

Paramètres GET #

| Paramètre | Type | Description |

|-----------|------|-------------|

| bspage | int | Numéro de page |

Paramètres POST #

Ajout de bot #

| Paramètre | Type | Description |

|-----------|------|-------------|

| fields[preg] | string | Trigger de détection (max 30 car.) |

| fields[botname] | string | Nom du bot (max 200 car.) |

| fields[url] | URL | Documentation du bot |

| fields[category] | string | Catégorie |

| fields[risk] | int | Niveau de risque (0-9) |

Locale #

Clés utilisées dans $dialbot:

| Index | Description |

|-------|-------------|

| 1 | Lien retour |

| 2 | Bouton purge |

| 3 | Bouton stats |

| 4 | Message purge OK |

| 5 | Confirmation purge |

| 6 | Label total visites |

| 7 | En-tête IP |

| 8 | En-tête User-Agent |

| 9 | Bouton liste bots |

| 10 | Label nombre bots connus |

| 11 | Bouton ajouter bot |

| 13 | Label première entrée |

| 14 | En-tête timestamp |

| 15 | En-tête risque |

| 16 | Message ajout OK |

| 17 | Erreur trigger requis |

| 18 | Erreur doublon |

| 21 | Label bot inconnu |

| 24 | Label risque moyen |

| 25 | En-tête nom |

| th_category | En-tête catégorie |

| cat_* | Labels catégories |

| unknown_pct | Label pourcentage inconnus |

Algorithme de matching #

php
foreach($channel as $trigger => $info)
{
    if(stripos($useragent, $trigger) !== false)
    {
        // Bot identifié
        break;
    }
}

Le matching est insensible à la casse et cherche le trigger n'importe où dans le User-Agent.

Vues #

Vue principale #

  • Panneau de contrôle (total, purge, stats, liste)
  • Liste des 25 dernières visites paginée
  • Risque et catégorie par visite

Vue stats #

  • Top 20 des User-Agents par nombre de hits
  • Risque moyen calculé
  • Pourcentage de bots inconnus

Vue liste bots #

  • Tous les bots de botdb
  • Accès au formulaire d'ajout

CSS #

Le module charge plugins/botsniffer/css/botsniffer.css.

Classes principales :

  • .botsniffer-table — Tableau de données
  • .botsniffer-panel — Panneau de contrôle
  • .botsniffer-risk-bar — Barre de risque
  • .botsniffer-cat-badge — Badge catégorie
  • .botsniffer-unknown — Style bot inconnu
  • .botsniffer-alert — Messages d'alerte
  • .botsniffer-pagination — Contrôles de pagination

Notes #

  • La purge est irréversible (TRUNCATE)
  • Les bots inconnus sont signalés visuellement
  • Le trigger doit être unique dans botdb
  • Si botname est vide, le trigger est utilisé comme nom
de en fr