Express-Schreibdienst
© jpegwiz - Fotolia.com

Spamschutz für Formulare: Honeypot statt Captcha

| 4 Kommentare

Fast jede Web­seite besitzt Web-Formulare. Meis­tens sind es Kon­takt­for­mu­lare, wel­che nur Mails ver­sen­den. Häu­fig wer­den aber auch For­mu­lare für Regis­trie­rung, Bestel­lung, Gäs­te­buch usw. ver­wen­det, wel­che nicht nur Mails ver­sen­den, son­dern auch noch Ein­träge in der Daten­bank machen.

Irgend­wann wird man plötz­lich mit Mails von der eige­nen Web­seite über­schüt­tet. Es sind Spam-Mails wel­che über irgend­ein For­mu­lar der Web­seite (z. B. Kon­takt­for­mu­lar) ver­sen­det wer­den. Dage­gen gibt es ver­schie­dene Mit­tel. Am bes­ten: Die Honigfalle!

CAPTCHA Codes

Oft sieht man auf ande­ren Web­sei­ten unter­halb der For­mu­lare einen sog. CAPTCHA-Code, den man von einem Bild able­sen und ein­tip­pen muss. Diese Spamschutz-Maßnahme wird häu­fig ver­wen­det und bie­tet auch einen eini­ger­ma­ßen guten Schutz. (Obwohl es man­che Spam­pro­gramme auch schaf­fen, die Zei­chen aus dem Bild auszulesen)

Nach­teile der CAPTCHA Codes: Es ist ein­fach läs­tig, immer die­sen Code ein­ge­ben zu müs­sen. Außer­dem ist der Code manch­mal schlecht zu lesen. Diese Methode gilt daher nicht als “barrierefrei”.

Es gibt noch eine ähnli­che Methode mit Rechen­auf­ga­ben, aber auch diese wer­den von den Spam­bots teil­weise schon gelöst und der Benut­zer ist auch hier gezwun­gen eine zusätz­li­che, läs­tige Ein­gabe zu machen, selbst wenn es nur ein Zei­chen ist.

Des­halb möchte ich eine andere, ein­fa­che und sehr ele­gante Methode vor­stel­len, die schon seit län­ge­rem bekannt ist und auch erfolg­reich ange­wen­det wird.

Honey­pot Methode

Die Methode heißt “Honey­pot” (Honig­topf) und ist sozu­sa­gen eine süße, ver­lo­ckende Falle für die Spambots.

Diese haben näm­lich die Ange­wohn­heit, alle Ein­ga­be­fel­der aus­zu­fül­len, die sie fin­den kön­nen.
Die Spam­bots kön­nen da ein­fach nicht widerstehen.

Bei­spiel: Kon­takt­for­mu­lar mit Honey­pot Spamschutz

Der Trick geht wie folgt:
Man erstellt ein­fach ein zusätz­li­ches Ein­ga­be­feld mit dem Hin­weis, dass die­ses Feld leer blei­ben soll, da es eine Spamschutz-Maßnahme ist.

Besu­cher der Web­seite wis­sen dann Bescheid und es ist beque­mer ein Feld ein­fach leer zu las­sen, statt einen Code aus einem Bild zu ent­zif­fern und einzutippen.

Die­ses zusätz­li­che Feld kann man mit CSS auch unsicht­bar machen (Dis­play: none;), sodass die Besu­cher nichts davon mitbekommen.

Die Spam­bots aber tap­pen prompt in die Falle und fül­len das Feld aus (auch wenn es unsicht­bar ist).

Nun wird in der Pro­gram­mie­rung (PHP) noch die Bedin­gung ein­ge­setzt, dass das For­mu­lar erst ver­ar­bei­tet wird, wenn die­ses Feld leer ist. Und schon hat man einen ein­fa­chen, sehr effek­ti­ven und bar­rie­re­freien Spam­schutz. Der Honig­falle sei Dank!

Für Pro­gram­mie­rer sollte es selbst­ver­ständ­lich sein, dass dar­über hin­aus sämt­li­che Ein­ga­be­va­ria­blen (POST und GET) immer vor der Wei­ter­ver­ar­bei­tung gefil­tert und geprüft wer­den müs­sen, um Spam oder SQL-Injection (Mani­pu­la­tion der Daten­bank) zu ver­mei­den. Dazu gibt es in PHP zahl­rei­che Funktionen.

Autor: Özkan

Hallo, mein Name ist Özkan und ich bin der Administrator dieser Webseite. Weitere Infos zu meinen Leistungen finden Sie auch unter www.web-design-marketing.de.

4 Kommentare

  1. Lei­der ver­hin­dern Honey Pots nur sehr ein­ge­schränkt Spam. Wird ein her­kömm­li­ches CAPTCHA durch einen Honey Pot ersetzt kann sich das Spamauf­kom­men erhö­hen. Dies ist zumin­dest meine Erfah­rung im prak­ti­schen Einsatz.

    Natür­lich haben auch die Ent­wick­ler sol­cher Spam­bots längst die­ses Pro­blem erkannt.
    Die Bots fül­len ein­fach nicht jedes Feld aus, son­dern agie­ren auf dem Zufalls­prin­zip. Genü­gend Ver­su­che füh­ren dann zu genü­gend viel Spam.

  2. Vie­len Dank für den Kom­men­tar ;)
    Ja es stimmt, es ist nun­mal ein ewi­ges Wett­rüs­ten zwi­schen den Ent­wick­lern von Spam­bots und Anti-Spam Maß­nah­men. Einen 100%igen Schutz gibt es ohne­hin nicht.
    Die Methode ver­rin­gert zumin­dest das Spamauf­kom­men, denn nicht alle Spam­bots sind so schlau.
    Die­ser Blog ver­wen­det im Übri­gen ein Plu­gin namens Antis­pam Bee wel­ches nach dem­sel­ben Prin­zip funk­tio­niert und erfolg­reich Spam­kom­men­tare blockt.

  3. Also, die Capt­chas finde ich auch sehr benut­zer­feind­lich. Sind sie zu gut les­bar, wer­den sie auch ganz gut von Spam­bots ent­zif­fert, und sind sie schwie­ri­ger, hat man oft auch als Mensch Pro­bleme, die rich­ti­gen Zei­chen zu erken­nen. Nach zwei Fehl­ver­su­chen spä­tes­tens bin ich jeden­falls ziem­lich genervt.

    Die Honey­pots wer­den lei­der noch sel­ten als Plu­gin ange­bo­ten, daher habe ich noch keine Erfah­run­gen damit machen kön­nen. Spam­bee ist super, das stimmt, und es wen­det ja gleich meh­rere Metho­den an, aber das gibt es mei­nes Wis­sens nur für WordPress.

    Eine wei­tere Mög­lich­keit ist es, eine Frage zu stel­len, am bes­ten in deutsch, falls man eine rein deutsch­spra­chige Web­site hat. Dann wer­den neben den Bots auch die­je­ni­gen mensch­li­chen Spam­mer abge­blockt, die der deut­schen Spra­che nicht mäch­tig sind. Der Benut­zer muss dann zwar die Ant­wort ein­tip­pen, aber das ist nicht so läs­tig wie ein schwer les­ba­res Capt­cha. Rechen­auf­ga­ben hin­ge­gen wer­den wohl inzwi­schen auch schon zu leicht von den Bots gelöst und von mensch­li­chen Spam­mern natür­lich auch, egal aus wel­chem Land.

    Noch eine Lösung gibt es manch­mal als Plu­gin: Der Benut­zer muss ein Häk­chen in ein Feld set­zen. Das Feld wird per Java­Script erzeugt, die Spam­bots kön­nen das nicht erken­nen, set­zen also kein Häk­chen hin­ein und schon sind sie entlarvt.

    • @Torsten
      Vie­len Dank für Deine wert­vol­len Tipps.

      Ja, Capt­chas kön­nen schon ner­ven, z.B. bei Denic.de. (Die durch­lö­cher­ten Buch­sta­ben gehen mir schon ziem­lich auf den Wecker)

      Das mit Java­Script ist ein gute Lösung. Ein­zi­ger Beige­schmack: Wenn Benut­zer Java­Script deaktviert haben geht es nicht. Klar, dass da ein ent­spre­chen­der Hin­weis im NOSCRIPT Tag rein muss.

      Aber die per­fekte Lösung gibt es wohl nicht. Am bes­ten man kom­bi­niert ver­schie­dene Metho­den und muss auch bereit sein kleine Kom­pro­misse ein­zu­ge­hen im ewi­gen Kampf gegen Spam.

Bitte hinterlassen Sie einen Kommentar

Pflichtfelder sind mit * markiert.

*