Enrico: Spiders und Bots blockieren

Hallo,

Auf der Suche nach der Blockierung von bösartigem Code über PHP bin ich gerade auf Informationsseiten über Spiders und Bots gestossen:

http://www.kloth.net/internet/badbots.php

Gibt es bei den Spiders und Bots ein bestimmtes Merkmal, das bei allen gleich oder ähnlich ist, anhand dessen man ihnen den Zugriff auf die eigene Seite verhindern kann / könnte ?

Enrico

  1. Hallo Enrico,

    die meisten ordentlich eingesetzten (in dem Sinne fasse ich ordentlich als -zum Wohle eingesetzt- auf) zeichnen sich Durch den HTTP_USER_AGENT aus. Der USER_AGENT wird per HTT-Protokoll übergeben und ist bei jedem Bot / Spider ein anderer String. Je nach Version der eingesetzten Software sind er auch anders aus. Dieser Weg ist nicht gangbar, um Deinen Code zu schützen.

    Es hilft nur sich mit der Sicherheit PHPs auseinander zu setzen und regelmäßig neuste Versionen einzusetzen. Zu jeder Funktion, die Du in Deinem Steuerfluß einsetzt, verinnerliche Dir die Beschreibungen und Hinweise des Manuals.

    Gruß aus Berlin!
    eddi

    1. Hallo eddi,

      Danke für den Link, werde ihn mir dann mal genau zu Gemüte führen...

      Gruss, Enrico

      1. Hallo Enrico,

        in irgendeiner Zeitschrift hatte ich mal ein Codebeispiel gesehen, wie man Spider in eine Falle locken kann.
        Die ordentlichen Spider lesen nämlich die robots.txt aus und befolgen die Anweisungen dort, d.h. man kann dort angeben dass kein Spider auf eine bestimmte PHP-Seite gehen darf.
        Und diese bestimmte PHP-Seite (die irgendwo auf deiner Seite durch einen nicht sichtbaren Link verlinkt wird) erzeugt 10 weitere Links auf "sich selbst", mit unterschiedlichen Variablen angehängt. Ein so "gefangener" Spider bleibt so lange in dieser Falle, bis er abgebrochen wird.
        Durch eine Verzögerungszeit (z.B. 20 Sekunden) kann man noch zusätzlich dafür sorgen, dass der entstehende Traffic nicht so hoch ist.

        Vielleicht ist das eine nicht ganz elegante Methode, aber wenn sie funktioniert... ;-)

        Bis dann!

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
        http://emmanuel.dammerer.at/selfcode.html
        1. Hallo Marc,

          jemand, der es darauf anlegen will, Schaden anzurichten, wird in seinen Vorüberlegungen fast automatisch eine Routine einbauen, die die robots.txt auslesen wird, um schnellstmöglich an die versteckten Bereiche zu kommen.

          Gruß aus Berlin!
          eddi

          1. Hallo XaraX,

            jemand, der es darauf anlegen will, Schaden anzurichten, wird in seinen Vorüberlegungen fast automatisch eine Routine einbauen, die die robots.txt auslesen wird, um schnellstmöglich an die versteckten Bereiche zu kommen.

            ...und genau dort steckt dann mein beschriebenes Skript dahinter, das diesen Spider einfängt.
            Der (unsichtbare) Link dient nur zur Sicherheit, falls der Spider die robots.txt einfach missachtet und gar nicht erst ausliest.

            Bis dann!

            Marc Reichelt || http://www.marcreichelt.de/

            --
            Linux is like a wigwam - no windows, no gates and an Apache inside!
            SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
            http://emmanuel.dammerer.at/selfcode.html
        2. Hallo,

          Die ordentlichen Spider lesen nämlich die robots.txt aus und befolgen die Anweisungen dort, d.h. man kann dort angeben dass kein Spider auf eine bestimmte PHP-Seite gehen darf.
          Und diese bestimmte PHP-Seite (die irgendwo auf deiner Seite durch einen nicht sichtbaren Link verlinkt wird) erzeugt 10 weitere Links auf "sich selbst", mit unterschiedlichen Variablen angehängt. Ein so "gefangener" Spider bleibt so lange in dieser Falle, bis er abgebrochen wird.

          man könnte da auch eine forbidden site (z.B. forbidden.cgi) angeben im robots.txt und die spider od. bots,die sich nicht dran halten werden dann gesperrt via htaccess durch das cgi script,welches ja ausgeführt wird beim aufruf,der dann einen eintrag "deny from IPadresse" in eine htaccess macht.
          So ähnlich hab ich es gemacht über mein login script,wenn ein zugriff zweimal oder mehr in weniger als 1 sekunde erfolgt,dann wird die IP gesperrt.Es ist ja nicht möglich über einen normalen client innerhalb weniger als einer sekunde zweimal neue logindaten einzugeben und neu abzuschicken,das kann nur ein bot oder spider.
          Gruss
          Alain