dey: Gästebuch Spam-robot-filter, aber richtig

Hallo,

seit geraumer Zeit leidet unser Gästebuch unter Spameinträgen, ziemlich sicher durch robots eingefügt.
Ich will jetzt einen Textvergleich dazwischenhängen, um diese beim Speichern abzufangen.
Dieser Weg wird wohl funktionieren, aber ist es auch der richtige?

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--
  1. hi,

    seit geraumer Zeit leidet unser Gästebuch unter Spameinträgen, ziemlich sicher durch robots eingefügt.
    Ich will jetzt einen Textvergleich dazwischenhängen, um diese beim Speichern abzufangen.
    Dieser Weg wird wohl funktionieren, aber ist es auch der richtige?

    Kommt drauf an.

    Glaubst du, durch einen solchen "Textvergleich" - der wohl eher auf eine Mustersuche hinauslaufen dürfte - wirklich sicher sagen zu können, was ein Spamversuch ist, und was ein "menschlicher" Eintrag?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Glaubst du, durch einen solchen "Textvergleich" - der wohl eher auf eine Mustersuche hinauslaufen dürfte - wirklich sicher sagen zu können, was ein Spamversuch ist, und was ein "menschlicher" Eintrag?

      Nein.
      Was wäre dein Vorschlag?

      Im moment wäre es aber auch nicht wichtig, da bis jetzt "nur" 2 eindeutige Muster aufgetaucht sind. Weitere könnten dann nachgepflegt werden, so sie sich denn nicht täglich ändern (was sie ja mim moment nicht tun).

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  PHP Project Browser--
      1. hi,

        Was wäre dein Vorschlag?

        Kommt drauf an.

        Bei einem "kleineren" Gästebuch mit eher geringer Beitragsfrequenz und -Menge würde ich vermutlich auf Freischaltung der Beiträge vor Anzeige setzen.
        Ggf. noch mit einem "Badword-Filter" o.ä. kombiniert, wenn man die "ordentlichen" Benutzer nicht verärgern will.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          hi,

          Was wäre dein Vorschlag?

          Kommt drauf an.

          Bei einem "kleineren" Gästebuch mit eher geringer Beitragsfrequenz und -Menge würde ich vermutlich auf Freischaltung der Beiträge vor Anzeige setzen.
          Ggf. noch mit einem "Badword-Filter" o.ä. kombiniert, wenn man die "ordentlichen" Benutzer nicht verärgern will.

          Das ist dann aber auch ein Text/String-Fillter. Nur nicht beim Speichern.
          Es hääte den negativen Nebeneffekt, dass der count der Einträge nach oben geht.

          bydey

          --
          -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
          -- Navigate all your PHP web projects with  PHP Project Browser--
          1. hi,

            Das ist dann aber auch ein Text/String-Fillter. Nur nicht beim Speichern.

            Doch, beim Speichern wird darüber entschieden, ob sofort angezeigt, oder vorherige Freischaltung verlangt wird.

            Es hääte den negativen Nebeneffekt, dass der count der Einträge nach oben geht.

            Dann zähle sinnvoller.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo,

              hi,

              Das ist dann aber auch ein Text/String-Fillter. Nur nicht beim Speichern.

              Doch, beim Speichern wird darüber entschieden, ob sofort angezeigt, oder vorherige Freischaltung verlangt wird.

              Dem kann ich nicht folgen!?

              Es hääte den negativen Nebeneffekt, dass der count der Einträge nach oben geht.

              Dann zähle sinnvoller.

              sicherlich richtig, da aber das Original-Scrpit nicht von mir ist, aufwändig.

              bydey

              --
              -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
              -- Navigate all your PHP web projects with  PHP Project Browser--
              1. Hallo,

                Vielleicht nicht unbedingt direkt zum Thema, aber ein Gästebuchsktipt, das -soweit ich es beurteilen kann- nicht nur tut was es soll, sondern auch sicher ist und welches ich gerne weiterempfehle ist das von Felix Riesterer.
                Wenn Du sowieso ein fremdes Skript benutzt, warum dann nicht gleich ein anderes/sicheres?
                Zudem schätze ich den Autor so ein, daß er erkennbar gewordene Sicherheitslücken in der Zukunft auch nicht auf sich beruhen lassen würde, oder? Insofern wäre vielleicht sogar eine gewisse Pflege des Skriptes enthalten, <acronym title="wenn ich mich nicht irre">wimni</acronym> ;)

                netten Tag
                ^da Powl

                1. echo $begrüßung;

                  [...] ein Gästebuchsktipt, das -soweit ich es beurteilen kann- nicht nur tut was es soll, sondern auch sicher ist und welches ich gerne weiterempfehle ist das von Felix Riesterer.

                  Von "sicher" kann man dabei nicht sprechen. Es hat bisher nur noch kein Spam-Bot geschafft, sich dort einzutragen. Daraus kann nicht geschlussfolgert werden, dass dies niemals der Fall sein wird. Spätestens wenn die von Felix verwendete Vorschau-Methode größere Verbreitung gefunden hat, werden Spam-Bots befähigt werden, auch diese Hürde zu nehmen. Und dann geht's auf in die nächste Runde des Wettrüstens ...

                  echo "$verabschiedung $name";

                  1. hi,

                    Von "sicher" kann man dabei nicht sprechen.

                    Von "unsicher" deshalb aber auch nicht.

                    Gästebücher werden geschrieben und bereitgestellt, damit darin Einträge hinterlassen werden können.
                    Spambots hinterlassen Einträge in Gästebüchern.

                    Works as designed, und hat mit "sicher" oder "unsicher" wenig zu tun.

                    Dass bestimmte Arten von Beiträgen oder Beiträge von bestimmten (Nicht-)Leuten unerwünscht sind, ist ein soziales Problem, welches sich nur ansatzweise und kaum zuverlässig auf (rein) technischem Weg lösen lässt.

                    gruß,
                    wahsaga

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                  2. Hallo,

                    Von "sicher" kann man dabei nicht sprechen. Es hat bisher nur noch kein Spam-Bot geschafft, sich dort einzutragen. Daraus kann nicht geschlussfolgert werden, dass dies niemals der Fall sein wird. Spätestens wenn die von Felix verwendete Vorschau-Methode größere Verbreitung gefunden hat, werden Spam-Bots befähigt werden, auch diese Hürde zu nehmen. Und dann geht's auf in die nächste Runde des Wettrüstens ...

                    Wäre in meinem Falle dennoch eine gute Lösung:

                    • Vorschaufunktion ist vorhanden
                    • Umleitung von Speichern1 auf Vorschau sicherlich kein Aufwand

                    bydey

                    --
                    -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
                    -- Navigate all your PHP web projects with  PHP Project Browser--
                    1. Hallo,

                      Wäre in meinem Falle dennoch eine gute Lösung:

                      • Vorschaufunktion ist vorhanden
                      • Umleitung von Speichern1 auf Vorschau sicherlich kein Aufwand

                      Wenn Dir der link etwas gebracht hat, freue ich mich auch.

                      netten Tag
                      ^da Powl

                      1. Hallo,

                        Wäre in meinem Falle dennoch eine gute Lösung:

                        • Vorschaufunktion ist vorhanden
                        • Umleitung von Speichern1 auf Vorschau sicherlich kein Aufwand

                        Wenn Dir der link etwas gebracht hat, freue ich mich auch.

                        Habe das eingebaut:

                        • ging schnell
                        • positiv-test durch menschliche Eingabe bestanden
                        • negativ-test durch robot warte ich noch auf Test-scenario-vorschläge

                        bydey

                        --
                        -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
                        -- Navigate all your PHP web projects with  PHP Project Browser--
                  3. Hallo,

                    Von "sicher" kann man dabei nicht sprechen. Es hat bisher nur noch kein Spam-Bot geschafft, sich dort einzutragen. Daraus kann nicht geschlussfolgert werden, dass dies niemals der Fall sein wird. Spätestens wenn die von Felix verwendete Vorschau-Methode größere Verbreitung gefunden hat, werden Spam-Bots befähigt werden, auch diese Hürde zu nehmen. Und dann geht's auf in die nächste Runde des Wettrüstens ...

                    Ich denke, das ich erwähnt habe, daß im Falle bekanntgewordener Sicherheitslücken u. U. mit Anpassungen von Felix Riesterer zu rechnen seien. Jedenfalls mit höherer Wahrscheinlichkeit als bei den meisten vergleichbaren Skripts. Jedenfalls schätze ich ihn auf Grund seiner Postings hier nicht als jemanden ein, der wissentlich eine Spamschleuder verbreiten würde, und als jemanden mit genug background um beurteilen zu können, ob es eine Spamschleuder ist. Daher denke ich mal, er würde entsprechend reagieren. Ist aber nur meine persönlicher Einschätzung, wissen kann ich es nicht...
                    Aktuell ist es _mMn_ vergleichsweise sicher.

                    Aber wenn man so philosophisch über Sicherheit nachdenken will, wird man feststellen müßen, daß man nicht mehr machen kann, als die Wahrscheinlichkeit eines Eindringens zu verringern. Totale Sicherheit ist mit totaler Sicherheit nur eine Illusion. Man bekommt jede Tür geöffnet früher oder später, dafür sind Türen in finaler Konsequenz ja erdacht.
                    Sicherlich wäre es aber sinnvoll, sofern Du ein Skript oder eine Methode kennst, das/die Du (noch) sicherer einschätzt, einen Link zu hinterlassen. Noch wähne ich mich aber mir einer Zwangsvorschau in _relativer_ Sicherheit, da bin ich absolut sicher ;).

                    netten Tag
                    ^da Powl

                    1. Lieba Powl,

                      Ich denke, das ich erwähnt habe, daß im Falle bekanntgewordener Sicherheitslücken u. U. mit Anpassungen von Felix Riesterer zu rechnen seien.

                      ich schreibe ja auf besagter Seite explizit, dass ich für Feedback diesbezüglich sehr empfänglich bin. Ich habe mich mangels Zeit und konkreter Veranlassung noch nicht an einen (heißt das "bayes'schen"?) Filter gewagt, der die Postings vor dem endgültigen Speichern dann noch einmal prüft.

                      Jedenfalls schätze ich ihn auf Grund seiner Postings hier nicht als jemanden ein, der wissentlich eine Spamschleuder verbreiten würde, und als jemanden mit genug background um beurteilen zu können, ob es eine Spamschleuder ist.

                      Danke für die Blumen! Aber eine Leidenschaft für ein Hobby bringt manchmal auch positive Nebeneffekte für andere mit sich. ;-)

                      Daher denke ich mal, er würde entsprechend reagieren.

                      Das trifft zu, es sei denn es zwingen mich andere Gründe, davon abzulassen.

                      Liebe Grüße aus Ellwangen,

                      Felix Riesterer.

                      1. Hallo Felix.

                        Ich habe mich mangels Zeit und konkreter Veranlassung noch nicht an einen (heißt das "bayes'schen"?) Filter gewagt, der die Postings vor dem endgültigen Speichern dann noch einmal prüft.

                        Da gibt es doch auch schon etwas von Ratiopharm

                        Einen schönen Mittwoch noch.

                        Gruß, Ashura

                        --
                        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                        [HTML Design Constraints: Logical Markup]
                        1. Lieber Ashura,

                          Da gibt es doch auch schon etwas von Ratiopharm

                          LOL! Ob Alexander gerne als Ratiopharm bezeichnet wird? Aber danke für den Link. Die Seite kannte ich zwar schon, habe mich aber noch nie darum bemüht, das Prinzip zu begreifen. Ich verstehe so viel: Alexander hat da was tolles gebaut, was ich vielleicht einmal in der Zukunft brauchen und benutzen werde.

                          Solange aber mein Mechanismus ausreicht, werde ich Alexanders Filter vorerst nicht studieren.

                          Liebe Grüße aus Ellwangen,

                          Felix Riesterer.

                      2. Hallo.

                        heißt das "bayes'schen"?

                        Ja, allerdings sieht dein "i" ein wenig seltsam aus.
                        MfG, at

                    2. echo $begrüßung;

                      Von "sicher" kann man dabei nicht sprechen.

                      Ich denke, das ich erwähnt habe, daß im Falle bekanntgewordener Sicherheitslücken [...]

                      Achso, dann haben wir gewissermaßen etwas aneinander vorbei geredet. Ich nahm an, dein "sicher" bezog sich auf "sicher vor Spameinträgen" und nicht im Sinne von "Sicherheitslücke" (sprich Ausnutzen für einen nicht vorgesehenen Zweck).

                      Noch wähne ich mich aber mir einer Zwangsvorschau in _relativer_ Sicherheit, da bin ich absolut sicher ;).

                      Hmmm, oder vielleicht doch nicht? Du scheinst Aspekte von "sicher" zu mischen, und mal den einen und mal den anderen zu meinen. Kein Wunder, dass ich dann nicht mehr durchsehe :-)

                      echo "$verabschiedung $name";

    2. Mal nur so eine Frage:

      Übergeben Robots auch ID's?

      MFG
      Griever

      1. Hallo,

        Übergeben Robots auch ID's?

        An wen richtet sich die Frage?

        Welche Form von ID meinst du?

        bydey

        --
        -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
        -- Navigate all your PHP web projects with  PHP Project Browser--
        1. Sie war an Wahsaga gerichtet ...

          ID:

          Jeder Nutzer, der im Internet surft, übergibt stets eine Eindeutige ID. Kennst du bestimmt. Eine ID sieht stets so aus bsp: 125.762.63.23 oder so ...

          MFG
          Griever

          1. hi,

            Jeder Nutzer, der im Internet surft, übergibt stets eine Eindeutige ID. Kennst du bestimmt. Eine ID sieht stets so aus bsp: 125.762.63.23 oder so ...

            Du meinst eine IP-Adresse?

            Die braucht nicht extra "übergeben" zu werden - die ist für die Kommunikation zwischen Client und Server absolut erforderlich.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Ok ... schon gut ...

              So hoch bin ich auf diesem gebiet leider noch nciht ... (nobody is perfect)

              Dann hat sich meine Idee schon erledigt ...

              MFG
              Griever

          2. Hallo,

            ID:

            TCP/IP

            Jeder Nutzer, der im Internet surft, übergibt stets eine Eindeutige ID. Kennst du bestimmt. Eine ID sieht stets so aus bsp: 125.762.63.23 oder so ...

            Sicher.
            Schade, dass ich alle Einträge schon von Hand gelöscht habe. Ich werde auf diese Posting noch einmal zurückkommen, wenn ich einen neuen Eintrag mit ID habe.

            bydey

            --
            -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
            -- Navigate all your PHP web projects with  PHP Project Browser--
          3. Hi Griever,

            Jeder Nutzer, der im Internet surft, übergibt stets eine Eindeutige ID. Kennst du bestimmt. Eine ID sieht stets so aus bsp: 125.762.63.23 oder so ...

            Ersetze D durch P, dann hast du Recht ;-)

            Ja, ein Bot hat selbstverständlich auch eine IP, den IP stellen die Grundlage beim Versenden von TCP/UCP Packeten dar und somit die Grundlage für die Kommunikation im Internet - wenn jemand keine IP hat, ist er auch nicht im Internet. [1]

            MfG, Dennis.

            [1] Allerdings ist man auch nicht automatisch im Internet, wenn man eine IP hat ;-)

  2. Hallo,
    mein Vorschag wäre im Formular noch eine Textarea hinzuzufügen und diese mittels display:none zu verstecken, kommt ein Bot wird er auch diese versteckte Textarea ausfüllen und du kannst zur weiteren Verarbeitung prüfen ob diese Textarea ausgefüllt wurde oder nicht.
    Bei meinem Gästebuch funktioniert diese Methode bestens und ich habe seitdem keine Spameinträge mehr gehabt.
    Gruß Jan

    1. Hallo,

      mein Vorschag wäre im Formular noch eine Textarea hinzuzufügen und diese mittels display:none zu verstecken, kommt ein Bot wird er auch diese versteckte Textarea ausfüllen und du kannst zur weiteren Verarbeitung prüfen ob diese Textarea ausgefüllt wurde oder nicht.
      Bei meinem Gästebuch funktioniert diese Methode bestens und ich habe seitdem keine Spameinträge mehr gehabt.

      Klingt interessant.
      Wie hast du das offline getestet. Bist du gar selbst ein robot?

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  PHP Project Browser--
      1. Hallo,

        Wie hast du das offline getestet.

        Ich kann das wohl offline programmieren und annehmen es funktioniert.
        Kann ich es auch testen:

        • gibt es eine Seite, auf der ich einen Test-robot auf mich loslassen kann

        bydey

        --
        -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
        -- Navigate all your PHP web projects with  PHP Project Browser--
        1. Hallo,
          ich habe es nicht getestet, ich hatte es so "programmiert" und der Erfolg gab mir recht. :-)
          Gruß Jan

          1. Hi Jan!

            Eine klasse Idee mit dem versteckten Feld! Aber natürlich kannst du das testen: Speichere dazu einfach den Quellcode der HTML-Seite mit dem Formular auf deinem Rechner ab, befülle mit einem Texteditor das versteckte Feld und pass den URI im action-Attribut des Formulares an. Dann öffnest du die Datei in deinem Browser und drückst auf 'senden'.

            Gruss

            Tom2

  3. Eine weitere Möglichkeit wäre:
    den GB-Eintrag nicht direkt nach dem Submit speichern, sondern auf eine "Bestätigungsseite" weiterzuleiten, in der noch einmal ein Button gedrückt werden muss. Der robot verfolgt (zumindest bei meinem gästebuch) diese 2. stufe nicht mehr und so bleibt das GB in der Hand von realen Personen.

    1. Lieber Gerhard,

      Eine weitere Möglichkeit wäre:
      den GB-Eintrag nicht direkt nach dem Submit speichern, sondern auf eine "Bestätigungsseite" weiterzuleiten, in der noch einmal ein Button gedrückt werden muss. Der robot verfolgt (zumindest bei meinem gästebuch) diese 2. stufe nicht mehr und so bleibt das GB in der Hand von realen Personen.

      das finde ich auch.

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.