Contao 3 Bot Detection

Bot Detection dient als Hilfsklasse für andere Erweiterungen (Frontend) die erkennen müssen, ob der Zugriff von Mensch oder Maschine erfolgt. (Erkennung von Suchmaschinen, Spider, Crawler, Bots, Harvester, ...)

Eine sichere Erkennung gibt es dabei natürlich nicht.
Es wird über 3 Verfahren versucht dieses zu erkennen:

  • User Agent Kennung
  • IP Adresse
  • Referrer URL

Einfacher Test

Die einfachste Art alle 4 Tests aufzurufen um festzustellen, Bot oder nicht geht so:

$BotDetection= new \BotDetection\ModuleBotDetection();
$BotTest= $BotDetection->checkBotAllTests(\Environment::get('httpUserAgent'));
//true = Bot, false = kein Bot

 

Die Methode checkBotAllTests, prüft auf 4 Arten ob der Zugriff von einen Bot erfolgt. Dies erfolgt über weitere Hilfsklassen.