Der Spambot ist ein unfreundlicher Zeitgenosse. Seine Aufdringlichkeit ist legendär, sein Verhalten penetrant. Es ist Zeit, etwas dagegen zu unternehmen. Unseren Bausatz für ein sicheres Kontaktformular kennen Sie vielleicht schon. Nun gibt es ein Update, mit dem Spam-Bots ferngehalten werden sollen. Wir nutzen Zeitstempel, Streuwert*, Zufallszahlen und eine Plausibilitätsprüfung. Hier die bisher erschienenen Artikel:

- Sichere Formluare Teil 1: Spam-Gefahr durch Kontaktformulare
Kontaktformulare dienen dazu, einem eng definierten Personenkreis von einer Webseite aus Nachrichten zu senden. Die Empfänger-Adressen sind meist fix eingestellt und können vom Formular-Benutzer in der Regel nicht oder nur in engem Rahmen verändert werden. Zahlreiche Kontaktformular-Skripte sind fehlerhaft implementiert und können als Spam-Verteiler missbraucht werden. - Sichere Formulare Teil 2: Konktaktformular-Bausatz für Webentwickler
Kontaktformulare zahlreicher Websites sind potenzielle Spam-Schleudern. Da stellt sich die Frage: was ist ein technisch gutes Kontaktformular? Die zentralen Aspekte hierbei sind Sicherheit vor Missbrauch sowie technische, optische und inhaltliche Flexibilität. Basteln Sie ein Kontaktformular mit dem Dr. Web-Kontaktformular-Bausatz. - Sichere Formulare Teil 3: Pseudo-grafisches CAPTCHA mit PHP
Fast jeder Seitenbetreiber, der ein Formular auf seiner Website anbietet, hat schon Erfahrungen mit automatisch abgesendeten Web-Formularen gemacht. Sie werden seit langem gern von Spammern genutzt, um Spam-Nachrichten zu verbreiten. CAPTCHAs helfen, Menschen von automatischen Spam-Schleudern zu unterscheiden. Allerdings haben sie zahlreiche Nachteile. - Sichere Formulare Teil 4: Spam-Bots maßregeln
Unseren Bausatz für ein sicheres Kontaktformular kennen Sie vielleicht schon. Nun gibt es ein Update, mit dem Spam-Bots ferngehalten werden sollen.
Autor aller vier Teile Rene Schmidt, der auch ein Weblog sein Eigen nennt.
* Was ist ein Streuwert? Wikipedia sagt: “Ein Hashwert bzw. Streuwert ist ein skalarer Wert, der aus einer komplexeren Datenstruktur (Zeichenketten, Objekte, …) mittels einer Hash-Funktion berechnet wird. Ein Hashwert wird auch als Fingerprint bezeichnet. Denn wie ein Fingerabdruck einen Menschen nahezu eindeutig identifiziert, ist ein Hashwert eine nahezu eindeutige Kennzeichnung einer übergeordneten Menge. Hash-Werte dienen beispielsweise als Schlüssel für Tabellen, um assoziative Arrays (Hashtabellen) zu implementieren.”
Sven Lennartz
Sven ist der Erfinder des Dr. Web Magazins, Autor und Herausgeber verschiedener Fachbücher. Als Webdesigner und Texter früher freiberuflich für verschiedene Unternehmen und Verlage tätig. Jetzt Geschäftsführer der Smashing Media GmbH.




Sichere Formulare
Vor ein paar Tagen habe ich schonmal auf die Reihe “Sichere Formulare” bei DrWeb hingewiesen.
Nun gibts wieder einen neuen Teil, in dem es um den Versuch geht, Spam-Bots das Leben schwer zu machen. Euch hier wirklich nutzbare Hinweise!
Sich…
Aus eigene Erfahrung kann ich folgendes ergänzen:
1. Zeitstempel und IP Adresse des Absenders speichern (in Datenbank oder Textdatei). Sendet die selbe IP innerhalb einer Stunde z. B. mehr als 2 mal, bricht die Verarbeitung ab.
2. Zeichenketten, die “Content-Type: multipart/mixed;” oder “NextPart” enthalten, sind sehr gefährlich.
3. Länge der Eingabefelder begrenzen. Ein einfaches Textfeld (Absenderadresse) hat nie mehr als 20 oder 30 Zeichen.
3. Mehr als 3 @-Zeichen pro Eingabefeld führen bei mir zur Ablehnung.
Damit kommt man auch ganz schön weit und benötigt kein CGI/PHP zur Formularbereitstellung.
Guido
Im sharing this site with my friends from ruby-de :)
Also eines muss ich mal klarstellen, bevor Mißverständnisse auftreten: alle Spam-Abwehrmaßnahmen, die ich bisher gesehen habe, sind Krücken. Damit meine ich, dass ich sie weder für elegant noch besonders effektiv halte.
Halbwegs erfolgreiche Abwehr funktioniert nur bei mehreren hintereinander geschalteten Abwehrmechanismen – das aber wiederum erhöht die Komplexität des Abwehrsystems soweit, dass es nicht mehr auf einfache Weise und ohne Fachkenntnisse erweitert, installiert oder implementiert werden kann… Und der Bausatz sollte einfach sein, daher bietet er auch nicht alles, was machbar oder wünschenswert wäre, zum Beispiel einen Anti-Flood-Mechanismus.
Die Mechanismen, die das Kontaktformular jetzt bietet, sind schon wieder recht kompliziert – ich habe dabei den *Einsteiger* im Auge, der seine ersten Versuche im Web unternimmt.
Webdesignen können alle irgendwie, nur halbwegs korrekt programmieren kann fast niemand so richtig in dieser Branche. Ich sehe das immer wieder, wenn ich “professionelle” Arbeiten von etablierten und bekannten Web-Agenturen debuggen darf.
Ach… :) Ich kann mir die Reaktionen auf mein Posting schon jetzt vorstellen… :)
Daher ein PS: Ausnahmen gibt es natürlich immer. Über die freue ich mich dann immer sehr.
….
Rene, kommt schon gut an.
Du hast letztendlich Recht das man ohne Fachkenntnisse
in Sachen Spam-Abwehr nicht mehr auskommt.
Explizit bei phpBB2-Foren werden die Spambots angemeldet,
und die schreiben dann (mein Fall) auf Englisch (in etwa
“Wow, that’s great – i totally agree!”) in einem Deutschen
Forum.
Fällt natürlich auf. Und weg damit.
Die wollen aber erstmal unentdeckt bleiben um u. a. offene
E-Mail-Adressen auszuspähen um diese dann in naher Zukunft
zuzumüllen.
Aber was ich dato beitragen möchte ist folgendes.
Captcha ist uns allen (oder den meisten) ein Begriff.
Eigentlich nicht mehr als ein verzerrtes Bild eines Strings
zufälliger Zeichen, oder?
Meiner Ansicht nach ist das Captcha so wie wir es kennen
total veraltet. Anstelle eines verzerrten Zufallsstrings
müsste eine Rechenaufgabe her – in etwas wie “1 + 1 =” [EINGABE].
Das würde sogar den Nutzer fordern,
und er würde es wahrscheinlich auch nocht witzig finden.
Ist schon klar, das hält dann (wenn es sich verbreiten würde)
auch nur 1 Jahr, aber das ist ein Jahr Freiheit, oder?
ps: Also nicht weitersagen … *g*
-Jimmy
….
Naja als nächstes darf man dann n kleines Mini Game spielen und wenn man level 2 erreicht hat wird das Formular abgeschickt. Haleluja. :D
wie siehts denn aus mit einer überprüfung ob das formular überhaupt von einem browser aufgerufen wurde? aber das kann man ja auch emulieren.
Der DrWebKontaktformularbaukasten scheint ja ne wucht. Allerdings habe ich keine Implementation googeln können, die das “Danke”-Feature richtig ausführt. Ich habe es auch nicht rausgekriegt. Der Text fällt immer auf den Defaul-Wert zurück.
Wo liegt denn da der Fehler im Skript?
Richtig nett wäre es ja auch, wenn die vorhandenen Werte Anrede und Name da noch auftauchen würden. (Vielen Dank Herr/Frau Soundso für …)
Wer kann da aufs Pferd helfen?
[...] Rene Schmidt hat eine Erweiterung für den Dr. Web Kontaktformular Bausatz fertiggestellt. Durch die Einbindung von Akismet sagen Seitenbetreiber dem Spam den Kampf an. Schließlich bleiben auch Formulare nicht von unerwünschtem Müll davon verschont. Wer solche Sorgen hat, kann nun noch mehr dagegen tun. Wer mehr dazu wissen will, hier gibt’s Hinweise zur Serie Sichere Formluare Teil 1-4. [...]
Ich werde mit Mails bombardiert, die alle Links auf andere sites enthalten.
Ich sperre jetzt simpel und einfach HTML-Links “
[...] leite Dich einfach mal auf diesen sehr guten Artikel weiter:http://www.drweb.de/weblog/weblog/?p=534M
[...] wei