• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Botmelder...

dkdenz

New member
Wir basteln uns einen Robotmelder...

Wer eine neue Site hat und wissen möchte wann welcher Bot auf der Site war und sie indiziert hat,
kann sich mit diesen Snippets Gewissheit verschaffen.

Die folgenden Snippets werden in die zu indizierende Seite eingebaut.

Snippet #1 funktioniert mit einer E-Mail-Meldung:

PHP:
<?php
$trackurl = $_SERVER['PHP_SELF'] ;
$trackUserAgent =strtolower($_SERVER['HTTP_USER_AGENT']);
if (stristr($trackUserAgent ,"archiver")) {$trackrobot="Alexa";}
if (stristr($trackUserAgent ,"exabot")) {$trackrobot="Exalead";}
if (stristr($trackUserAgent ,"fast")) {$trackrobot="Fast";}
if (stristr($trackUserAgent ,"firefly")) {$trackrobot="Fireball";}
if (stristr($trackUserAgent ,"googlebot")) {$trackrobot="Google";}
if (stristr($trackUserAgent ,"msnbot")) {$trackrobot="MSN";}
if (stristr($trackUserAgent ,"scooter")) {$trackrobot="AltaVista";}
if (stristr($trackUserAgent ,"yahoo-mmcrawler")) {$trackrobot="Yahoo";}
if (stristr($trackUserAgent ,"gigabot")) {$trackrobot="Gigabot";}
$trackdate = date('Y-m-d');
$tracktime = date('H:i:s');
$trackhost = $_SERVER['HTTP_HOST'];
$trackaddr = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
if ($trackrobot != "") {
$eingeloggt = "
trackrobot= $trackrobot
trackurl= $trackurl
trackdate= $trackdate
tracktime= $tracktime
trackhost= $trackhost
trackaddr= $trackaddr
";
mail ("email@deinedomain.de", "Folgender Bot war da: $trackrobot !", "$eingeloggt");
} ?>

Snippet #2 funktioniert mit einem Eintrag in eine Text-Datei:

PHP:
<?php
$trackurl = $_SERVER['PHP_SELF'] ;
$trackUserAgent =strtolower($_SERVER['HTTP_USER_AGENT']);
if (stristr($trackUserAgent ,"archiver")) {$trackrobot="Alexa";}
if (stristr($trackUserAgent ,"exabot")) {$trackrobot="Exalead";}
if (stristr($trackUserAgent ,"fast")) {$trackrobot="Fast";}
if (stristr($trackUserAgent ,"firefly")) {$trackrobot="Fireball";}
if (stristr($trackUserAgent ,"googlebot")) {$trackrobot="Google";}
if (stristr($trackUserAgent ,"msnbot")) {$trackrobot="MSN";}
if (stristr($trackUserAgent ,"scooter")) {$trackrobot="AltaVista";}
if (stristr($trackUserAgent ,"yahoo-mmcrawler")) {$trackrobot="Yahoo";}
if (stristr($trackUserAgent ,"gigabot")) {$trackrobot="Gigabot";}
$trackdate = date('Y-m-d');
$tracktime = date('H:i:s');
$trackhost = $_SERVER['HTTP_HOST'];
$trackaddr = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
if ($trackrobot != "") {
$eingeloggt = "
trackrobot= $trackrobot
trackurl= $trackurl
trackdate= $trackdate
tracktime= $tracktime
trackhost= $trackhost
trackaddr= $trackaddr
\n";
$fp = fopen ("dateiname.txt","a+");
fwrite($fp,$eingeloggt);
fclose($fp);
} ?>

Bei "dateiname.txt" einfach eine beliebige Textdatei eintragen, welche aber natürlich im selben Verzeichniss vorhanden sein muss.
Nicht vergessen: Schreib- und Leserechte korrekt vergeben.

Achja, nennt die Textdatei nicht unbedingt "robots.txt"... ;)

Viel Spaß...
 
das script habe ich schon die ganze zeit gesucht!!
hast du das nicht schonmal gepostet ?

werde es gleich mal ausprobieren... bin gespannt was für bot's sich auf meiner seite rumtreiben :D



fd0311
 
fd0311 schrieb:
das script habe ich schon die ganze zeit gesucht!!
hast du das nicht schonmal gepostet ?

werde es gleich mal ausprobieren... bin gespannt was für bot's sich auf meiner seite rumtreiben :D



fd0311

Ich hatte das mal vor 2, 3 Wochen gepostet,
aber dann fiel der SQL-Server oder-was-weiß-ich-aus.
Deswegen: nochmalpost...
Hey, und die Snippets funktionieren einwandfrei.
Selber getestet bis das Postfach voll war... :)
 
Zuletzt bearbeitet:
witzigerkiller schrieb:
das weiß ich als php coder auch. aber wie kann ich zum testen, mal so einen bot auf meine hp lotzen?
Eine Seite die schon indiziert worden ist, wäre natürlich das Optimale.
Die Bots kommen in regelmässigen Abständen vorbei.
 
wäre es eigentlich von nutzen, wenn ich die abfrage umbauen würde, und die bots auf eine andere seite verlinke, über meta refresh oder header:location?
 
Da verstehe ich jetzt nicht den Sinn.
Eine effektive Weiterleitung wäre über .htaccess,
aber die Seite auf die weitergeleitet wird,
wird Dir dann nicht gemeldet.
 
ich meinte, es gibt ja roboter die massig mails senden wenn die eine lücke entdecken. Deswegen meinte ich, das die erst gar nciht zugriff haben sollen auf meine seite
 
passt hier nicht ganz rein und kann evt. verschoben werden. ich habe hier mal einen linktipp wie mann oder frau die unerwünschten plagegeister loswerden kann.

weitere infos gibts hier:

BotTrapWiki: BotTrapWiki


grüssle @ all
 
Wir basteln uns einen Robotmelder...

Wer eine neue Site hat und wissen möchte wann welcher Bot auf der Site war und sie indiziert hat,
kann sich mit diesen Snippets Gewissheit verschaffen.

Die folgenden Snippets werden in die zu indizierende Seite eingebaut.

Snippet #1 funktioniert mit einer E-Mail-Meldung:

PHP:
<?php
$trackurl = $_SERVER['PHP_SELF'] ;
$trackUserAgent =strtolower($_SERVER['HTTP_USER_AGENT']);
if (stristr($trackUserAgent ,"archiver")) {$trackrobot="Alexa";}
if (stristr($trackUserAgent ,"exabot")) {$trackrobot="Exalead";}
if (stristr($trackUserAgent ,"fast")) {$trackrobot="Fast";}
if (stristr($trackUserAgent ,"firefly")) {$trackrobot="Fireball";}
if (stristr($trackUserAgent ,"googlebot")) {$trackrobot="Google";}
if (stristr($trackUserAgent ,"msnbot")) {$trackrobot="MSN";}
if (stristr($trackUserAgent ,"scooter")) {$trackrobot="AltaVista";}
if (stristr($trackUserAgent ,"yahoo-mmcrawler")) {$trackrobot="Yahoo";}
if (stristr($trackUserAgent ,"gigabot")) {$trackrobot="Gigabot";}
$trackdate = date('Y-m-d');
$tracktime = date('H:i:s');
$trackhost = $_SERVER['HTTP_HOST'];
$trackaddr = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
if ($trackrobot != "") {
$eingeloggt = "
trackrobot= $trackrobot
trackurl= $trackurl
trackdate= $trackdate
tracktime= $tracktime
trackhost= $trackhost
trackaddr= $trackaddr
";
mail ("email@deinedomain.de", "Folgender Bot war da: $trackrobot !", "$eingeloggt");
} ?>

Snippet #2 funktioniert mit einem Eintrag in eine Text-Datei:

PHP:
<?php
$trackurl = $_SERVER['PHP_SELF'] ;
$trackUserAgent =strtolower($_SERVER['HTTP_USER_AGENT']);
if (stristr($trackUserAgent ,"archiver")) {$trackrobot="Alexa";}
if (stristr($trackUserAgent ,"exabot")) {$trackrobot="Exalead";}
if (stristr($trackUserAgent ,"fast")) {$trackrobot="Fast";}
if (stristr($trackUserAgent ,"firefly")) {$trackrobot="Fireball";}
if (stristr($trackUserAgent ,"googlebot")) {$trackrobot="Google";}
if (stristr($trackUserAgent ,"msnbot")) {$trackrobot="MSN";}
if (stristr($trackUserAgent ,"scooter")) {$trackrobot="AltaVista";}
if (stristr($trackUserAgent ,"yahoo-mmcrawler")) {$trackrobot="Yahoo";}
if (stristr($trackUserAgent ,"gigabot")) {$trackrobot="Gigabot";}
$trackdate = date('Y-m-d');
$tracktime = date('H:i:s');
$trackhost = $_SERVER['HTTP_HOST'];
$trackaddr = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
if ($trackrobot != "") {
$eingeloggt = "
trackrobot= $trackrobot
trackurl= $trackurl
trackdate= $trackdate
tracktime= $tracktime
trackhost= $trackhost
trackaddr= $trackaddr
\n";
$fp = fopen ("dateiname.txt","a+");
fwrite($fp,$eingeloggt);
fclose($fp);
} ?>

Bei "dateiname.txt" einfach eine beliebige Textdatei eintragen, welche aber natürlich im selben Verzeichniss vorhanden sein muss.
Nicht vergessen: Schreib- und Leserechte korrekt vergeben.

Achja, nennt die Textdatei nicht unbedingt "robots.txt"... ;)

Viel Spaß...


kann mir jemand erklären wie ich das mache das die daten nicht in einer txt datei gespeichert werden sondern in einer datenbank und auf einer seite ausgelesen werden wann welcher bot da war??
 
kann mir da keiner helfen??
Die Datenerfassung zeigt das Tutorial, wie die Daten gespeichert werden können ebenfalls.
Die Daten in einer Dir genehmen Form, wie z.B. in eine Tabelle zu speichern ist nur eine Fingerübung.
Wie man generell Daten in eine Datenbank bekommt zeigt Dir die Suchfunktion.
Wie man Daten wieder ausliest und anzeigt ebenfalls.

Die Antwort lautet also: Selbst ist die Frau!
 
Zuletzt bearbeitet:
Ich hab' auch so bei mir gedacht:
Da kommt einer daher und "redet" von Datenbankspeicherung...
...ergo hat er ja automatisch eine gewisse Ahnung von der Materie.
Wieso also die Frage?
 
Zurück
Oben