Jörn: Zugriff auf Datei von "aussen" verhindern (Spamproblem)

hiho,

habe ein Gästebuch in PHP und ein Spamproblem. Die Textdatei in der die Einträge stehen wird wohl von Robots gelesen und mit Spameinträgen erweitert. Mir gefällt das Buch und ich möchte nicht auf eine MYSQL-Lösung wechseln.

Kann ich mittels .htaccess den Aufruf der Gästebuch-Textdatei verhindern, bzw. nur von der Datei "schreibe-ins-gästebuch.php" zugänglich machen. In dieser PHP-Datei kann ich dann meine Spamfilter einbauen.

Leider habe ich 0,0nix Ahnung von .htaccess, Zugriffsrechten und ähnlichem. Wenn es eine andere Lösung wie .htaccess gibt dann wäre mir das auch recht.

Sollten Antworten kommen, dann bitte für einen .htaccess-newbie ;-)

Dank und Grüße

Jörn

  1. Hallo Jörn,

    habe ein Gästebuch in PHP und ein Spamproblem. Die Textdatei in der die Einträge stehen wird wohl von Robots gelesen und mit Spameinträgen erweitert. Mir gefällt das Buch und ich möchte nicht auf eine MYSQL-Lösung wechseln.

    Kann ich mittels .htaccess den Aufruf der Gästebuch-Textdatei verhindern, bzw. nur von der Datei "schreibe-ins-gästebuch.php" zugänglich machen. In dieser PHP-Datei kann ich dann meine Spamfilter einbauen.

    Bist du sicher, dass die Robots die Einträge nicht über das normale Formular machen? Wenn die tatsächlich auf deinem Server Textdateien verändern können, hättest du ein sehr großes Problem.

    Schöne Grüße,

    Johannes

    1. Bist du sicher, dass die Robots die Einträge nicht über das normale Formular machen? Wenn die tatsächlich auf deinem Server Textdateien verändern können, hättest du ein sehr großes Problem.

      Schöne Grüße,

      Johannes

      hm, die Dateirechte müssen in der Textdatei auf 666 gesetzt werden, sonst funktioniert das Buch nicht. Kann da dann von aussen zugegriffen werden?

      Im PHP-Script habe ich beispielsweise die Zeichenfolge "http" gesperrt. D.h. Eintrage die http im Text haben werden nicht akzeptiert. Wenn ich dies Teste, dann funktioniert das auch - man bekommt eine Fehlermeldung.

      Trotzdem habe ich immer wieder Einträge (jeden Morgen ca. 100 KB *grummel*) mit "http" als Text. Bei anderen Wortfiltern ist das genauso - d.h. meine Tests funktionieren, dennoch kommen immer wieder "verbotene" Einträge.

      Du kannst es Testen: http://www.noppen-test.de/guestbook.php

      Ein Bildcode bringt auch keine besserung - auch vielleicht ein Zeichen, dass die Spambots nicht über das Eintragsscript gehen.

      Grüße

      Jörn

      1. Hallo Jörn!

        Eine Aussage des Erfinders Deines Gästebuches auf seiner Webseite:

        Es versuchen zu viele Internetuser - oder wie man sie auch immer nennen mag - meine Scripte und Seiten zu hacken.Ich habe nichts dagegen, wenn man Sicherheitsbugs in meinen Scripten sucht. Das ist normal und soll auch so sein. Aber ich kann mit der herangehensweise mancher Leute nichts anfangen.

        Das würde mir schon zu denken geben. Vermutlich wird irgendwo beim Wegspeichern der Daten eine einfache Variable überschrieben, die eigentlich dazu dienst die Einträge zu validieren. Vermutlich wird irgend eine Lücke ausgenutzt, Stichwort: register_globals = on.

        Da ich die Quellen dieses Gästebuches aber nicht kenne, kann ich Dir auch nicht wirklich weiter helfen.

        Du solltest versuchen alle Variablen die in Deinem Script verwendet werden zu validieren und initial zu setzen, damit diese nicht überschrieben werden können.

        Schönen Gruß

        Afra

        1. Hallo Jörn!

          Eine Aussage des Erfinders Deines Gästebuches auf seiner Webseite:

          Es versuchen zu viele Internetuser - oder wie man sie auch immer nennen mag - meine Scripte und Seiten zu hacken.Ich habe nichts dagegen, wenn man Sicherheitsbugs in meinen Scripten sucht. Das ist normal und soll auch so sein. Aber ich kann mit der herangehensweise mancher Leute nichts anfangen.

          Das würde mir schon zu denken geben. Vermutlich wird irgendwo beim Wegspeichern der Daten eine einfache Variable überschrieben, die eigentlich dazu dienst die Einträge zu validieren. Vermutlich wird irgend eine Lücke ausgenutzt, Stichwort: register_globals = on.

          hm, da kenne ich mich zu wenig aus ...

          Du solltest versuchen alle Variablen die in Deinem Script verwendet werden zu validieren und initial zu setzen, damit diese nicht überschrieben werden können.

          hört sich gut an ... nur bin ich leider jemand der rudimentäre php kentnisse hat. ist so eine "variablen-schreibsicherung" was kompliziertes?

          danke für die hilfe auch wenn ich damit überfordert bin ;-)))

          lg

          jörn

        2. Du solltest versuchen alle Variablen die in Deinem Script verwendet werden zu validieren und initial zu setzen, damit diese nicht überschrieben werden können.

          ... das script verwende z.b. zum "posten" die globale variable $_POST ... register globals ist ON (laut phpinfo) ... kann da mein problem liegen? könnte die variable $_POST["statement"] überschrieben werden? kann ich das verhindern ...

          sicherlich könnte man das ... nur ob ich es kann ist die frage ...

          ohoh fragen über fragen *jammer*

          grüße

          jörn

          1. Hallo!

            ... das script verwende z.b. zum "posten" die globale variable $_POST ... register globals ist ON (laut phpinfo) ... kann da mein problem liegen?

            Könnte unter Umständen daran liegen. Ist aber reine Vermutung.
            Wie validierst du den eingegebenen Text?

            mfg
              frafu

            1. Hallo!

              ... das script verwende z.b. zum "posten" die globale variable $_POST ... register globals ist ON (laut phpinfo) ... kann da mein problem liegen?

              Könnte unter Umständen daran liegen. Ist aber reine Vermutung.
              Wie validierst du den eingegebenen Text?

              mfg
                frafu

              so, nun muss ich mich outen ... keine ahnung wie ich die variable validiere, bzw. wie dies der autor des php-gästebuches gemacht hat.

              lg

              jörn

          2. Hallo jörn!

            ... das script verwende z.b. zum "posten" die globale variable $_POST ... register globals ist ON (laut phpinfo) ... kann da mein problem liegen? könnte die variable $_POST["statement"] überschrieben werden? kann ich das verhindern ...

            Wenn Dein Script mittels $_POST['wert'] auf die übergebenen Werte zugreift, scheint ja die richtige Richtung zu erkennen sein. Du solltest Dich mit dem richtigen Variablenhandling in PHP auseinander setzen, Dein Script kontrollieren, ob irgendwo Variablen überschrieben werden können und diese Fehler dann ausmerzen.

            Schönen Gruß

            Afra

      2. Hallo Jörn,

        hm, die Dateirechte müssen in der Textdatei auf 666 gesetzt werden, sonst funktioniert das Buch nicht. Kann da dann von aussen zugegriffen werden?

        Da ist die Frage, was du unter außen verstehst. 666 bedeutet, dass jeder Benutzer auf dem Server die Datei ändern kann. Ich glaube kaum, dass das wirklich notwendig ist. Ist das dein eigener Webserver?

        Im PHP-Script habe ich beispielsweise die Zeichenfolge "http" gesperrt. D.h. Eintrage die http im Text haben werden nicht akzeptiert. Wenn ich dies Teste, dann funktioniert das auch - man bekommt eine Fehlermeldung.

        Das lässt sich leider nicht sagen, da der Quellcode des Scripts nicht bekannt ist. http://www.php-gaestebuch.de/ hilft einem auch nicht weiter, da der Autor des Gästebuchs anscheinend alle möglicherweise hilfreichen Resourcen offline genommen hat. Generell erscheint mir ein solches Vorgehen äußerst unprofessionell, du solltest dich vielleicht mal nach einem anderen Gästebuchscript umsehen.

        Trotzdem habe ich immer wieder Einträge (jeden Morgen ca. 100 KB *grummel*) mit "http" als Text. Bei anderen Wortfiltern ist das genauso - d.h. meine Tests funktionieren, dennoch kommen immer wieder "verbotene" Einträge.

        Du widersprichst dir selber. Wenn Einträge möglich sind, bei denen der Wortfilter anspringen sollte, funktioniert der Wortfilter nicht.

        Du kannst es Testen: http://www.noppen-test.de/guestbook.php

        </hilfe/bedienung.htm#verweise-einbinden>

        Schöne Grüße,

        Johannes

        1. Nachtrag:

          Generell erscheint mir ein solches Vorgehen äußerst unprofessionell, du solltest dich vielleicht mal nach einem anderen Gästebuchscript umsehen.

          Der Eindruck wird natürlich dadurch, dass noch nichtmal eine Kontaktmöglichkeit angegeben ist, verstärkt.

          Schöne Grüße,

          Johannes

          1. Nachtrag:

            Generell erscheint mir ein solches Vorgehen äußerst unprofessionell, du solltest dich vielleicht mal nach einem anderen Gästebuchscript umsehen.

            Der Eindruck wird natürlich dadurch, dass noch nichtmal eine Kontaktmöglichkeit angegeben ist, verstärkt.

            Schöne Grüße,

            Johannes

            da gebe ich dir recht. der autor des GB hat die seite vom netz genommen. aber ich habe das buch nun angepasst und finde es sonst auch ganz nett ... einfach und übersichtlich. ausserdem hab ich schon einges am quellcode geändert und es nach meinen wünschen angepasst. ein neues gb würde ich nur im schlimmsten fall nehmen - das kostet zeit, denn ich verwende das buch noch auf 4 weiteren seiten ... alle mit unterschiedlichem design und fast alle mit spamproblem ...

            das artet in arbeit aus und die zeit habe ich momentan leider nicht

            grüße

            jörn

            1. Hallo Jörn!

              das artet in arbeit aus und die zeit habe ich momentan leider nicht

              Sicherlich ist die Art und Weise wie Du gerade arbeitest die Zeitraubendere. In der Zeit in der Du hier die Beiträge geschrieben hast, hast Du auch ein neues Gästebuch aufgesetzt. Das Ganze dann sogar ohne Spam.

              Mit etwas mehr Aufwand kann man dieses dann auch sicherlich an die verschiedenen Designs Deiner Seiten anpassen, wenn man die Trennung von HTML und Design (css) von Anfang an beachtet.

              Auf Dauer auf jeden Fall eine saubere Lösung.

              Schönen Gruß

              Afra

              1. Hallo Afra,

                Sicherlich ist die Art und Weise wie Du gerade arbeitest die Zeitraubendere. In der Zeit in der Du hier die Beiträge geschrieben hast, hast Du auch ein neues Gästebuch aufgesetzt. Das Ganze dann sogar ohne Spam.

                Nicht, mit den Kenntnissen, die Jörn nach eigenen Angaben von serverseitiger Programmierung hat. Für dich mag es vielleicht eine einfache Sache sein, ein kleines Gästebuchscript zu schreiben, aber das setzt erst einmal eine länger Zeit Einarbeitung in die Materie voraus.

                Schöne Grüße,

                Johannes

                1. Hallo Johannes!

                  Nicht, mit den Kenntnissen, die Jörn nach eigenen Angaben von serverseitiger Programmierung hat. Für dich mag es vielleicht eine einfache Sache sein, ein kleines Gästebuchscript zu schreiben, aber das setzt erst einmal eine länger Zeit Einarbeitung in die Materie voraus.

                  Das sagte auch keiner. Es gibt wahrlich sehr viele seriöse Quellen mit halbwegs sauberen Gästebuchscripten, die man auch ohne großes Wissen selbst aufsetzen kann. Wenn es das alte aufsetzen konnte, schafft er auch ein neues.

                  Schönen Gruß

                  Afra

                  1. Das sagte auch keiner. Es gibt wahrlich sehr viele seriöse Quellen mit halbwegs sauberen Gästebuchscripten, die man auch ohne großes Wissen selbst aufsetzen kann. Wenn es das alte aufsetzen konnte, schafft er auch ein neues.

                    Schönen Gruß

                    Afra

                    *seuft*

                    ich hatte auch einen guten eindruck von diesem GB ... und nun stellt sich heraus, dass es vermutlich eine sicherheitslücke hat ... nehme ich ein neues ... dann kann mir das gleiche passieren.

                    werde aber dahingehend überlegen ... vielleicht bringt ja meine neuste "spamüberlegung" was.

                    grüße

                    jörn

                    1. Hallo Joern,

                      ich hatte auch einen guten eindruck von diesem GB ... und nun stellt sich heraus, dass es vermutlich eine sicherheitslücke hat ... nehme ich ein neues ... dann kann mir das gleiche passieren.

                      Ein Vorschlag: Informiere dich vorher bei Leuten, die sich mit sowas gut auskennen darüber, ob das Gästebuch als gut bekannt ist oder bitte sie mal einen Blick in den Code zu werfen. Sicherheitslücken wirst du dadurch natürlich nie ausschließen können, aber wenigstens installierst du dir dann von Anfang an was Gutes.

                      Ich kann dir leider nicht weiterhelfen, da ich nicht weiß, welche Gästebuchscripte zur Zeit empfehlenswert sind.

                      Schöne Grüße,

                      Johannes

        2. Da ist die Frage, was du unter außen verstehst. 666 bedeutet, dass jeder Benutzer auf dem Server die Datei ändern kann. Ich glaube kaum, dass das wirklich notwendig ist. Ist das dein eigener Webserver?

          nein, gemieteter Webspace

          Du widersprichst dir selber. Wenn Einträge möglich sind, bei denen der Wortfilter anspringen sollte, funktioniert der Wortfilter nicht.

          genau da ist mein problem, bei mit funktioniert der filter. kopiere einfach mal einen spameintrag und versuche den text dann einzutragen, es geht nicht! trotzdem steht der eintrag im gästebuch ... wie ist er reingekommen - wie gesagt manuelles eintragen geht nicht ...

          grüße

          jörn

          Du kannst es Testen: http://www.noppen-test.de/guestbook.php

          </hilfe/bedienung.htm#verweise-einbinden>

          Schöne Grüße,

          Johannes

          1. Hallo Jörn,

            nein, gemieteter Webspace

            Dann solltest du das ändern, da ansonsten jeder andere auf dem gleichen Server auf deine Gästebuchdatei zugreifen kann. Es ist sinnvoller, den Benutzer, unter dem Apache läuft zum Eigentümer der Datei zu machen.

            genau da ist mein problem, bei mit funktioniert der filter. kopiere einfach mal einen spameintrag und versuche den text dann einzutragen, es geht nicht! trotzdem steht der eintrag im gästebuch ... wie ist er reingekommen - wie gesagt manuelles eintragen geht nicht ...

            Das sieht sehr nach einer Lücke des Gästebuchscripts aus. Ohne dieses Script aber zu kennen, kann man da nur mutmaßen. Vielleicht kontaktierst du mal den Autor des Gästebuchs, falls bei dem Gästebuchscript keine Kontaktdaten mitgeliefert wurden, kannst du mal bei http://www.archive.org/web/web.php oder bei der http://denic.de/ danach suchen.

            Bei der Gelegenheit solltest du ihn auch nach der genaueren Lizenz des Gästebuchs fragen, vielleicht kannst du oder jemand anderes es ja weiterentwickeln.

            Schöne Grüße,

            Johannes

  2. Hello,

    meistens reicht es schon, die Datei umzubenennen.

    Wenn z.B. guestbook.txt handelt, dann in .ht_guestbook.txt umbenennen.
    Das muss natürlich in allen Scripten gemacht werden, in der die Datei direkt benannt wird.
    Wenn das GB-Script allerdings gut ist, dann gibt es genau eine einzige Stelle, an der der Name festgelegt wird.

    Die Voranstallung von '.ht' bewirkt bei üblicher Apache-Konfiguration, dass die Datei nicht mehr über HTTP (also 'von außen') erreichbar ist.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hallo Tom,

      meistens reicht es schon, die Datei umzubenennen.

      Wenn z.B. guestbook.txt handelt, dann in .ht_guestbook.txt umbenennen.
      Das muss natürlich in allen Scripten gemacht werden, in der die Datei direkt benannt wird.

      Das ist doch Blödsinn. Wenn man die Textdatei über HTTP tatsächlich _ändern_ könnte, wäre es sein geringstes Problem, dass jemand die Textdatei zu Gesicht bekommt.

      Schöne Grüße,

      Johannes

      1. Hello,

        meistens reicht es schon, die Datei umzubenennen.

        Wenn z.B. guestbook.txt handelt, dann in .ht_guestbook.txt umbenennen.
        Das muss natürlich in allen Scripten gemacht werden, in der die Datei direkt benannt wird.

        Das ist doch Blödsinn. Wenn man die Textdatei über HTTP tatsächlich _ändern_ könnte, wäre es sein geringstes Problem, dass jemand die Textdatei zu Gesicht bekommt.

        Ein Ändern über HTTP wäre tatsächlich möglich. Allerdings unterstützen das die meisten Webserver "sicherheitshalber" gar nicht erst.

        Allerdings war das gar nicht der Sinn meiner Antwort. Die zielte lediglich auf das Verhindern des direkten Zugriffes über HTTP, egal ob mit GET, POST, HEAD, PUT oder was auch immer.

        Warum der Hinweis also Blödsinn sein soll, entzieht sich meinem Verständnis.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. Hallo Tom,

          Warum der Hinweis also Blödsinn sein soll, entzieht sich meinem Verständnis.

          Der Hinweis stimmt schon. Aber er hilft Jörn in diesem Fall überhaupt nicht weiter. Tatsache ist, dass Spammer in sein Gästebuch unter Umgehung der Schutzmaßnahmen, Einträge einschleußen. Trotz seiner anderslautenden Annahme, ist eher anzunehmen, dass dies durch Sicherheitslücken im Gästebuchscript geschieht anstatt über den direkten Zugriff auf die Datei mit den Einträgen.

          Jetzt den Zugriff auf diese Datei über HTTP, eine Technik, mit der man, wie du ja selber sagst, im Regelfall keine Daten verändern, einzuschränken löst weder das Problem noch bringt es ihn einen Schritt näher an die Lösung.

          Schöne Grüße,

          Johannes

          1. Hello,

            Der Hinweis stimmt schon. Aber er hilft Jörn in diesem Fall überhaupt nicht weiter. Tatsache ist, dass Spammer in sein Gästebuch unter Umgehung der Schutzmaßnahmen, Einträge einschleußen. Trotz seiner anderslautenden Annahme, ist eher anzunehmen, dass dies durch Sicherheitslücken im Gästebuchscript geschieht anstatt über den direkten Zugriff auf die Datei mit den Einträgen.

            Jetzt den Zugriff auf diese Datei über HTTP, eine Technik, mit der man, wie du ja selber sagst, im Regelfall keine Daten verändern, einzuschränken löst weder das Problem noch bringt es ihn einen Schritt näher an die Lösung.

            Das bestätige ich gerne.
            Ausßerdem hatten wir den Missbrauch von Formularen in der letzten Zeit ja hier schon mehrfach diskutiert und auch Strategien dagegen besprochen und ausprobiert.

            Die Einfachste ist eben der Einbau eines verdeckten zusätzlichen Textarea-Feldes, das _nicht_ ausgefüllt werden darf...

            Das Script stellt dann fest: Feld ausgefüllt, hoppla, das muss SPAM sein.

            Harzliche Grüße vom Berg
            http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau

            1. Hallo Tom!

              Das Script stellt dann fest: Feld ausgefüllt, hoppla, das muss SPAM sein.

              Ich denke das bringt ihn auch nicht weiter, da ich vermute, dass der Spamer gar nicht das Formular versendet, sondern eben direkt die Daten an das aufnehmende Script verschickt, indem er Sicherheitslücken nutzt.

              Besser wäre eventuell im Formular ein verstecktes Feld mit Inhalt aufzunehmen, das zukünftig immer mitgeliefert werden sollte und wenn es nicht vorhanden ist wird nicht gespeichert. Zusätzlich könnte er ja noch ein leeres Feld einfügen. Ich glaube nicht, dass das Gästebuch für den Spamer so wichtig ist, dass er seine Spamrobots dafür anpassen würde.

              Nicht Standardscripte sind meiner Erfahrung nach der beste Spamschutz.

              Schönen Gruß

              Afra

              1. Hello Afra,

                Das Script stellt dann fest: Feld ausgefüllt, hoppla, das muss SPAM sein.

                Ich denke das bringt ihn auch nicht weiter, da ich vermute, dass der Spamer gar nicht das Formular versendet,

                Wie stellst Du Dir vor, dass der Datenversand aus einem Formular per HTTP stattfindet und im Script verarbeitet wird?

                sondern eben direkt die Daten an das aufnehmende Script verschickt,

                Der Browser verschickt die Daten aus dem Formular auch direkt an die Ressource, die im Action-Attribut bezeichnet wird, und zwar als Name-Value-Pärchen im HTTP-Head, oder als Bytecluster im HTTP-Body (bei File-Upload).

                indem er Sicherheitslücken nutzt.

                Nein, echte Sicherheitslücken müssen da nicht bestehen. Es besteht nur keine ausreichende Prüfung der gesendeten Werte.

                Besser wäre eventuell im Formular ein verstecktes Feld mit Inhalt aufzunehmen, das zukünftig immer mitgeliefert werden sollte und wenn es nicht vorhanden ist wird nicht gespeichert.

                Eben das ist genau verkehrt herum.
                Alle Dialogfelder aus dem Formular werden vom BOT ermittelt, und wieder gepostet. Ausnahme sind nicht gesetzte Checkboxen usw. Der Bot bildet den Browser also möglichst genau nach. Er ist aber (zur Zeit noch) meistens zu blöd dazu, mit CSS oder sonstigen Methoden unsichtbar gemachte Felder zu entdecken, und unverändert zu lassen. Er füllt auch die für normale Benutzer unsichtbare Textarea aus, oder er überträgt die Checkbox "Ich bin ein S pamm-er#Arsch" oder "fÜr 1trag ausknipsen" auch unverändert...

                Das kann nun wiederum das Script erkennen und den Eintrag ablehnen mit den freundlichen unsichtbaren Worten "Eintragswunsch wurde berücksichtigt" oder ähnlich. Nur damit der BOT auch ein Erfolgserlebnis hat.

                Für den echten User muss da naütlich noch was Intelligentes drinstehen...

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

                1. Hallo!

                  Ich denke das bringt ihn auch nicht weiter, da ich vermute, dass der Spamer gar nicht das Formular versendet,

                  Wie stellst Du Dir vor, dass der Datenversand aus einem Formular per HTTP stattfindet und im Script verarbeitet wird?

                  Wieso sollte man nicht den Post von einem beliebigen Server, oder Programm aus absetzen können? Der Bot muss ja nur wissen wo das empfangende Script liegt und wenn bekannt ist, welche Validierungslücken und Felder in diesem Script vorhanden sind und benutzt werden, ist es ein leichtes für den Bot die Einträge vorzunehmen.

                  Wir hatten zum Beispiel bei wohin.heute.de jahrelang das Problem, dass uns Suchmaschineneintrager direkt aus Ihren Programmen (Helleo Engine, etc) angesprochen haben. Das haben wir mittlerweile unterbunden, da wir zum Vorschlag von Surftipps kein Gästebuch mehr verwenden. (Jugendsünde ;o) Damals wurden regelmäßig die Namen der Gästebücher geändert, und dennoch fand die irgendwann wieder ein Bot, oder einer der Hersteller der Programme und spamte erneut.

                  Schönen Gruß

                  Afra

                  1. Hello,

                    Wie stellst Du Dir vor, dass der Datenversand aus einem Formular per HTTP stattfindet und im Script verarbeitet wird?

                    Wieso sollte man nicht den Post von einem beliebigen Server, oder Programm aus absetzen können?

                    Ich habe nichts gegenteiliges gesagt. Der BOT liest das Dokument und parst es auf Formulare.
                    Die Formulare parst er dann auf Dialogfelder. Die Dialogfelder füllt er mehr oder weniger intelligent mit Daten, also er baut Name-Value-Pärchen mit den gefundenen Namen und seinen Texten. Manche Typen (Checkboxen, Radios, ...) belässt er z.B. mit dem erhaltenen Wert.
                    Mit dieser Zusammenstellung führt er dann den Post-Request durch.

                    Beim Script kommt dann möglichst genau das an, was der Browser auch senden würde.

                    Der Bot muss ja nur wissen wo das empfangende Script liegt und wenn bekannt ist, welche Validierungslücken und Felder in diesem Script vorhanden sind und benutzt werden, ist es ein leichtes für den Bot die Einträge vorzunehmen.

                    Die Lücken interessieren die meisten Bots noch gar nicht. Die versuchen das einfach blind und haben meistens Erfolg.

                    Wir hatten zum Beispiel bei wohin.heute.de jahrelang das Problem, dass uns Suchmaschineneintrager direkt aus Ihren Programmen (Helleo Engine, etc) angesprochen haben.

                    Das könnte aber auch daran gelegen haben, dass Ihr GET und POST durcheinander gebracht habt.
                    Die ungeschriebene regel heißt:

                    • Bookmarkfähige Requests per GET
                    • Userabhängige Requests per POST

                    Ich kenne keine öffentliche Suchmaschine, die POST-Requests listet, also das Action-Attribut aus dem Form öffentlich macht. Wäre zwar möglich, gehört sich aber nicht.

                    Harzliche Grüße vom Berg
                    http://www.annerschbarrich.de

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau

            2. Die Einfachste ist eben der Einbau eines verdeckten zusätzlichen Textarea-Feldes, das _nicht_ ausgefüllt werden darf...

              Das Script stellt dann fest: Feld ausgefüllt, hoppla, das muss SPAM sein.

              hiho ... danke für die vielen antworten :-)

              so ein feld gibt es sogar ... zumindest mal in einer vorversion. es bringt nix, da kein nachträglich eingebauter spamschutz was bringt, da ja irgendeine sichrheitslücke ausgenutzt wird - wo auch immer.

              ich kann sogar nur leere einträge ohne kommentar zulassen und trotzdem kommen spameinträge.

              :-(

              1. Hello,

                ich kann sogar nur leere einträge ohne kommentar zulassen und trotzdem kommen spameinträge.

                Dann sieht es wohl so aus, dass wir ohne genauere Kenntnis des Systems keinerlei sinnvolle Aussagen mehr treffen können. Jeder weitere Versuch wäre dann auch nur Spam :-)

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

  3. Hi,
    wenn du den Sicherheitscode in Einzelbildern anzeigst, und diese Bilder dann noch so benennst, wie das Zeichen auf dem Bild, musst du dich nicht wundern, das sowas maschinell gelesen wird.

    Desweiteren ist der erzeugt HTML-Code ein Sauhaufen und besteht nur aus Fehlern. Wenn das PHP-Script genauso programmiert ist, wundert mich es überhaupt nicht, das es Sicherheitslücken gibt, die ausgenutzt werden können.

    Bevor du da änfängst, einen wirksamen Spamschutz einzubauen, programierst du schneller ein neues GB oder setzt eins auf, das anständigen Code erzeugt und funktioniert.

  4. soooo ... danke für die zahlreichen antworten. ich weiss nun zumindest, dass vermutlich eine sicherheitslücke für die spameinträge verantwortlich sind.

    habe nun die dateien umbenannt und den aufruf des GB mit javascript realiesiert, die seite wird von den suchmaschienen nun nicht mehr indiziert (no-index, no-follow) ... vielleicht hilft dies gegen die spambots.

    grüße

    jörn

    ps. wenn nicht mache ich mich wohl auf die suche nach einem neuen gb ... wenn jemand ein "nettes" kennt, dann würde ich mich über ne antwort freuen ...

    grüße

    jörn

    1. Hallo!

      ps. wenn nicht mache ich mich wohl auf die suche nach einem neuen gb ... wenn jemand ein "nettes" kennt, dann würde ich mich über ne antwort freuen ...

      Versuchs mal mit diesem Gästebuch. Ich baue meine zwar immer selbst, aber das Forum von dem selben Entwickler habe ich im Einsatz und das wird auch nicht bespamt.

      Es arbeitet auch nach dem selben Prinzip wie Dein altes GB und sieht sogar ähnlich aus.

      In seinem Demo Gästebuch hat er aber auch gerade nen Spameintrag, der sieht aber nach händischem Eintrag aus.

      Schönen Gruß

      Afra