Wann kommt der Bot?
Montag, 27 Juli 2009 1 Kommentar
Viel benötigt es nicht, um Botbesuche zu registrieren. Was wir brauchen steckt in der Server-Variablen $_SERVER['HTTP_USER_AGENT']. Jeder Bot hat einen eigenen Namen, den wir aus der Variablen auslesen. Steckt im User-Agent zum Beispiel archiver, dann ist es der Bot von Alexa.
<?php
$useragent=$_SERVER['HTTP_USER_AGENT'];
if(stristr($useragent, "archiver")) {$robotvon="Alexa";}
if(stristr($useragent, "googlebot")) {$robotvon="Google";}
if(stristr($useragent, "msnbot")) {$robotvon="MSN";}
if(stristr($useragent, "exabot")) {$robotvon="Exalead";}
if(stristr($useragent, "firefly")) {$robotvon="Fireball";}
?>
Mit stristr() wird unabhängig von Groß- und Kleinschreibung ermittelt, ob in der Variable der entsprechende Ausdruck drinsteckt. Handelt es sich beim User-Agent um einen dieser 5 Bots, wird das in die Variable $robotvon geschrieben.
<?php
if($robotvon!= ""){
@mail("robotmelder@uvwxyz.de", "Der Suchmaschinen-Bot von $robotvon war da!", "", "From: robotmelder@uvwxyz.de
<Robotmelder>");
}
?>
Die Mail, die versendet wird, können wir noch ein bischen interessanter uns informativer gestalten, denn momentan ist sie noch leer.
<?php
$datum = date('Y-m-d');
$uhrzeit = date('H:i:s');
$host = $_SERVER['HTTP_HOST'];
$addr = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$mailtext="
Robot von $robotvon war
am $datum um $uhrzeit Uhr da.
HTTP HOST = $host
REMOTE_ADDR = $addr
HTTP_REFERER = $referer
";
@mail("robotmelder@uvwxyz.de", "Der Suchmaschinen-Bot von $robotvon war da!", $mailtext, "From: robotmelder@uvwxyz.de <Robotmelder>");
?>
Bestimmt wird das Datum und die Uhrzeit, der Host, die Remote-Adresse und der Referer. Alle Infos werden in die Variable $mailtext geschrieben, die dann als Textteil unserer Mail versendet wird.
Das Script kann man zum Beispiel durch include oder direkt als PHP-Quellcode in die entsprechende Webseite einbauen.
Download: Und hier das fertige Script "Robotmelder" zum Herunterladen. (zip, 4KB)
This is a nested column
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
This is another nested column
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Find ich spitze! Danke dafür und mach weiter so!