Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: SpiderTracker mit Bad Bot Blocker

  1. #1
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678

    SpiderTracker mit Bad Bot Blocker

    Was ist ein SpiderTracker?
    Die Robots von Suchmaschinen (automatisierte Programme die Webseiten nach Informationen durchsuchen) werden auch Crawler oder Spider genannt. Tracker heisst übersetzt so viel wie Fährtenleser oder Aufspürer. Demnach ist ein SpiderTracker so etwas wie ein Suchmaschinenrobot-Aufspürer - und genau das macht dieses Tool. Sobald eine Seite aufgerufen wird prüft der SpiderTracker (nachfolgend ST genannt), ob es sich um eine bekannte Suchmaschine handelt. Ist das der Fall, wird der Zugriff protokolliert, indem die aufgerufene Seite, der Zeitpunkt und die Suchmaschine in einer Datei festgehalten wird.


    Für wen lohnt sich das Tool?
    Seitenbetreiber die gerne wissen möchten wann, welche Suchmaschine wie oft Inhalte der Präsenz indexiert hat. Durch die eingebaute Suchfunktion kann man auch gezielt nach einer Adresse suchen um so festzustellen, ob neu eingestellte Inhalte schon von Suchmaschinen entdeckt wurden.


    Leistungsmerkmale
    • Hohe Performance durch PHP5 objektorientiert Programmierung; keine MySQL Datenbank nötig, da das dateibasierte SQLite eingesetzt wird
    • 9 bekannte Suchmaschinen werden protokolliert: Abacho, Alexa, AltaVista, Excite, Google, Infoseek, Lycos, MSN, Yahoo
    • Erweiterbarer Bad Bot Blocker (siehe unten)
    • Such- und Löschfunktion (Passwortgeschützt)
    • Flexible Einstellmöglichkeiten durch eine Konfigurationsdatei
    • Blätterfunktion
    • Sortiermöglichkeit nach Suchmaschine und Topliste



    Bad Bot Blocker
    Robots, kurz Bots, werden nicht nur von Suchmaschinen eingesetzt, sondern auch von Gesindel, die einem nichts Gutes wollen. Es gibt die unterschiedlichsten Arten von Bots, wie etwa Content Grabber (laden die komplette Webseite und vor allem Bilder herunter, um sie offline verfügbar zu machen, was einen enormen Traffic verursachen kann), Spam Bots oder auch Bot Net Crawler. Während Spam Bots verhältnismäßig harmlos sind, da sie nur Email Adressen von Webseiten sammeln oder Unsinn in Kontaktformulare oder Gästebücher schreiben, sind Bot Net Crawler von einem ganz anderen Kaliber. Diese Bots suchen systematisch im Quelltext nach Formularen um das dahinter liegende Script mit Anfragen zu bombardieren um XSS- (Cross Site Scripting) oder SQL-Injection Schwachstellen aufzuspüren und auszunutzen.
    Der integrierte BadBotBlocker (ist optional und kann in der Config an/aus geschaltet werden) prüft bei einem Seitenaufruf nicht nur, ob es sich um eine Suchmaschine handelt sondern prüft auch, ob sich hinter der User Kennung ein potentiell schädlicher Bot verbirgt und sendet in diesem Fall nur eine leere Seite und blockiert somit den Zugriff.

    Die Bad Bot Liste, die beliebig erweitert werden kann, umfasst derzeit über 200 der bekanntesten schädlichen Bots. Durch Teilstringerkennung wird ebenfalls eine Vielzahl Varianten einer Bot-Kennung blockiert. Selbstverständlich ist man damit nicht vollkommen vor Bots gefeit, aber es hilft das Problem einzudämmen.


    Wichtig
    Bevor ich zur Installationsanleitung und Funktionsweise komme ist hier der Zeitpunkt kurz einzuhaken. Da der ST nach modernen Techniken programmiert wurde (vorausgesetzt werden PHP 5.2 oder höher, sowie SQLite2-Unterstützung), aber noch längst nicht jeder Provider diese Anforderungen erfüllt, sollte zunächst das kleine Test-Script auf dem Zielserver ausgeführt werden um festzustellen, ob man den ST überhaupt einsetzen kann.
    Dazu einfach den Tester downloaden, auf den Server übertragen und im Browser aufrufen. Erscheint dort kein "Herzlichen Glückwunsch", kann das Script auf diesem Server nicht verwendet werden, bis der Provider sich dazu entschlossen hat die technischen Voraussetzungen auf den neuesten Stand zu bringen.
    Wurde der Test bestanden, geht es weiter mit der ...


    Installationsanleitung
    Die Installation ist denkbar einfach und in den meisten Fällen in weniger als 2 Minuten abgeschlossen. Zunächst wird vorausgesetzt das die zu überwachende Seite PHP ausführen kann - statische HTML Seiten funktionieren also nicht, sofern der Server nicht entsprechend konfiguriert ist. Optimal geeignet sind Shop Systeme oder CMS-Systeme, da diese in der Regel nur einen POE (Point of Entry) haben und man nur an einer Stelle das Script einbinden muß. Und so funktioniert's:

    1. Zip Datei lokal entpacken
    2. Auf dem FTP einen Ordner spidertracker im Verzeichnis erstellen, in dem die Webpräsenz liegt. Das ist idR das Wurzelverzeichnis
    3. Dem Ordner spidertracker CHMOD 766 oder 777 geben (Sollte PHP als CGI laufen muß man CHMOD 755 vergeben. Info dazu erteilt Euch euer Provider)
    4. In der Datei einstellungen.php die Variablen anpassen (sicheres Passwort wählen, sonst kann jeder die Statistik löschen!)
    5. Alle Dateien auf den Server übertragen
    6. Der Datei spidertracker.sqlite CHMOD 666 geben
    7. In die zu überwachende Datei(en) ganz oben die Datei spidertracker.php einbinden.
      PHP-Code:
      <?php include( 'pfad/zum/script/spidertracker.php' ); ?>
    8. Fertig!


    Die Statistik ruft man im Browser auf, indem man das Verzeichnis spidertracker ansurft (z.B. http://www.domain.tld/spidertracker/). Wer nicht möchte das ein öffentlicher Zugriff möglich ist, kann sich über den Provider, sofern möglich, einen Verzeichnisschutz einrichten.


    Kurzanleitung
    Da der ST bewusst sehr schlank und schlicht gehalten ist, gibt es auch nicht viel zu erklären. Links oben kann man in das Suchfeld eine komplette Adresse seiner Präsenz eingeben um diese in der Datenbank zu suchen. Wurde die Seite bereits erfasst, wird eine Übersicht ausgegeben die zeigt welche Suchmaschine zu welchem Zeitpunkt zugegriffen hat. Gibt es eine Fehlermeldung, wurde diese Seite noch nicht von einer der bekannten Suchmaschinen besucht.

    Rechts sind die Navigationslinks für die Komplettübersicht, die Topliste (diese Seiten wurden am häufigsten von Suchmaschinen besucht), sowie Suchmaschinen, sortiert nach Anzahl der Besuche. Wenn eine Suchmaschine dort nicht aufgeführt ist bedeutet das, dass diese Suchmaschine noch nie auf der Seite war.

    Die Übersicht selbst zeigt das Datum, die Suchmaschine in Form eines kleinen Icons, ein Info-Symbol, sowie die erfasste Seite. Ein Klick auf das Info-Symbol zeigt die URL-Einzelübersicht -ähnlich dem Suchfeld links oben- das Aufschluß über die Suchmaschinenaktivität auf einer bestimmten Seite liefert.

    Rechts unten findet man die Größe der Datenbankdatei in Kilobyte. Darunter kann man ältere Einträge löschen oder die Datenbank komplett leeren. Einfach die gewünschte Option wählen, das Adminpasswort in das Feld eingeben und die Form abschicken.

    Möchte man mit dem Script umziehen (Serverwechsel o.ä.) kann man einfach den ganzen Ordner spidertracker, inklusive Datenbankdatei, an den neuen Bestimmungsort kopieren und kann dort nahtlos "weitertracken". (Dateirechte setzen nicht vergessen!)
    Wird die Datenbankdatei zu groß, aber man möchte die alten Einträge nicht verlieren, kann man einfach ein Backup der Datenbankdatei machen bevor man sie leert. Man hat später die Möglichkeit über ein Zusatzscript (das erst noch geschrieben werden muß) die Datenbankdateien miteinander zu verknüpfen.

    Hinweis:
    Nachdem das Script eingebunden wurde sollte man, besonders am Anfang, hin und wieder kontrollieren ob Einträge in die Datenbankdatei geschrieben werden. Natürlich nur, wenn man sich sicher ist das zwischenzeitlich Suchmaschinen auf der Seite waren.
    Sollten keine Einträge gefunden werden, bitte zunächst prüfen ob die Datei spidertracker.php korrekt eingebunden wurde und das die Dateirechte korrekt gesetzt wurden! Ebenso ist daran zu denken, dass die spidertracker.php in jede (!) Datei eingebunden werden muß die überwacht werden soll.


    Zu guter Letzt ...
    ... gibt es hier noch einen Link der das Script in Action zeigt:

    SpiderTracker Live Demo

    Das ist das Script im produktiven Einsatz, wie ich es auf meiner Webseite http://www.phpbuddy.eu verwende.
    Achja, weil es doch wieder Scherzbolde gibt die denken sie müssten die Löschfunktion am Livesystem testen, habe ich diese vorsichtshalber deaktiviert.


    Viel Spaß mit dem Script,
    Andreas


    p.s.: Mein besonderer Dank geht noch an steffenk, Cybergreek, His.Master's.Voice, zulujaner und Torsten, die den SpiderTracker ausgiebig getestet haben und mit Ihren Vorschlägen und Hinweisen zur Entwicklung dieses Tools beigetragen haben. Danke!
    Angehängte Dateien Angehängte Dateien

  2. #2
    TP-Specialist Avatar von His.Master's.Voice
    Registriert seit
    Mar 2006
    Ort
    Wörrstadt
    Beiträge
    2.454

    Thumbs up

    Das muss ich jetzt aber mal loswerden. Danke Andreas für diese wieder hervorragende Arbeit!

    Mittlerweile sind deine Scripts schon eine Referenz geworden. Ja man kann hier schon ein Prädikat "besonders wertvoll" vergeben.
    Neben der Wertlegung auf Qualität bei der Programmierung heben sich deine php-Prgramme auch durch die sehr guten Erläuterungen und Installationsanweisungen von der breiten Masse ab.
    Gruß HMV

  3. #3
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Hallo Uwe,

    danke für die netten Worte. Du fängst ja an, wie Daniel letztens, mich zu beschämen.

  4. #4
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213

    Red face

    Wenn es bei mir laufen würde wäre es sicher schön Gibt es keine möglichkeit die auch auf älteren Versionen zum laufen zu bringen?

    Fehler!
    Folgende benötigten Klassen sind auf diesem Server nicht verfügbar:

    * SQLiteDatabase
    * SQLiteResult

  5. #5
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    Gibt es keine möglichkeit die auch auf älteren Versionen zum laufen zu bringen?
    Nicht ohne das gesamte Script komplett umzuschreiben, Nein.

  6. #6
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Das ist schade..
    Muss ich nur hoffen das es bald umgestellt wird...

  7. #7
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Oder einfach mal beim Provider freundlich nachfragen ob er auf PHP5 umstellt.
    Ich kenne es z.B. so dass man per .htaccess PHP5 nutzen kann. (Ist praktisch um zu testen ob auch die restlichen Scripte noch laufen).

  8. #8
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    php 5 ist ja drauf

    PHP Version: 5.2.6-1+lenny8

  9. #9
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    php 5 ist ja drauf

    PHP Version: 5.2.6-1+lenny8
    Am PHP liegt es nicht alleine. SQLite gibt es für PHP bereits seit Version 4, nur haben es viele Provider deaktiviert. Ab PHP 5.3 ist SQLite3 fester Bestandteil von PHP und standardmäßig aktiviert.
    Frag doch mal bei deinem Provider nach, ob die Möglichkeit besteht die SQLite Unterstützung zu aktivieren. Kannst ihm ja sagen das ein Sicherheitstool, das Du gerne verwenden möchtest, darauf basiert. Provider lieben sicherheitsbewusste User und drücken bei Sonderwünschen hin und wieder mal ein Auge zu.

  10. #10
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    So ok jetzt bekomme ich immer:
    Fatal error: Class 'SQLiteDatabase' not found in /home/anime-thunder.de/spidertracker/spidertracker.class.php on line 103
    $SQLitePfad = '/home/anime-thunder.de/spidertracker/';

    Und wenn uch das so mache:
    $SQLitePfad = './home/anime-thunder.de/spidertracker/';
    Kommt das:
    Die Datenbankdatei konnte nicht gefunden werden!
    Geändert von Wild-Wolf (04.04.2010 um 22:16 Uhr)

  11. #11
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    So ok jetzt bekomme ich immer:
    Fatal error: Class 'SQLiteDatabase' not found in /home/anime-thunder.de/spidertracker/spidertracker.class.php on line 103
    $SQLitePfad = '/home/anime-thunder.de/spidertracker/';
    Keine SQLite Unterstützung auf dem Server. Einfach mal eine PHP Datei mit phpinfo auf dem Server anlegen, im Browser aufrufen und Ausschau nach einem Abschnitt SQLite halten. Das sieht in etwa so aus, wie auf dem ersten Screenshot. Ist kein SQLite aufgeführt, unterstützt dein Server das nicht. Falls PHP 5.3 installiert ist, steht auch SQLite3 zur Verfügung. Das sieht dann so aus wie auf dem zweiten Screenshot - wie man da auch sieht, ist sqlite3 fester Bestandteil von PHP, während SQLite2 optional ist.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken SpiderTracker mit Bad Bot Blocker-sqlite_phpinfo.png   SpiderTracker mit Bad Bot Blocker-sqlite3_phpinfo.png  
    Geändert von phpBuddy (05.04.2010 um 05:01 Uhr)

  12. #12
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Nu gehts.
    Supi^^

    Muss der pfad so aussehen?
    <?php include( 'spidertracker/spidertracker.php' ); ?>

    die html wo es drinne ist liegt in root/themes/at

    Wie muss der pfad sonst aussehen wenn die spidertracker hier liegt
    (root/spidertracker/spidertracker.php)
    und die html hier:
    (root/themes/at/)
    Geändert von Wild-Wolf (09.04.2010 um 11:10 Uhr)

  13. #13
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213

    Red face

    Also egal wie ich es mache, es wird nix angeziegt
    in der Liste

  14. #14
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    Also egal wie ich es mache, es wird nix angeziegt
    in der Liste
    Was machst Du wie? Wo wird nix angezeigt? Ist die Seite für SuMas schon bekannt und kommen auch Bots vorbei?
    Kann doch nicht so schwer sein das Script in einen Ordner zu legen in dem die Seite liegt in das eingebunden werden soll und dann diese 1 Zeile Code einzufügen. Schreibrechte setzen nicht vergessen, so wie es in der Anleitung oben steht.

  15. #15
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Zitat Zitat von phpBuddy Beitrag anzeigen
    Was machst Du wie? Wo wird nix angezeigt? Ist die Seite für SuMas schon bekannt und kommen auch Bots vorbei?
    Kann doch nicht so schwer sein das Script in einen Ordner zu legen in dem die Seite liegt in das eingebunden werden soll und dann diese 1 Zeile Code einzufügen. Schreibrechte setzen nicht vergessen, so wie es in der Anleitung oben steht.
    Das habe ich alles gemacht wie oben beschrieben.
    Die seite gibts schon 10 Jahre ergo auch bots. laut google analytics.

    Meine frage ist eigentlich stimmt das so?
    (root/spidertracker/spidertracker.php)
    wenn die index.heml hier liegt, da es ein CMS ist:
    (root/themes/at/)

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Pop up Blocker Konflikt
    Von sapiens im Forum Flash & Multimedia
    Antworten: 1
    Letzter Beitrag: 27.09.2006, 02:00
  2. PopUp-Blocker
    Von Martin- im Forum Webdesign allgemein
    Antworten: 10
    Letzter Beitrag: 28.12.2005, 01:51
  3. FalkAd stellt Pop-Up-Blocker-Blocker vor
    Von PortalNews im Forum Einfach so ...
    Antworten: 1
    Letzter Beitrag: 26.04.2004, 20:36
  4. Blocker
    Von fiu im Forum HTML & CSS
    Antworten: 8
    Letzter Beitrag: 11.01.2004, 19:56

Stichworte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51