Hauptseite » Status 418 » Wie kann ich effektiv Formularspam verhindern?

Wie kann ich effektiv Formularspam verhindern?

Aus gegebenem Anlass fasse ich hier mal zusammen, wie man effektiv Formularspam verhindern kann, ohne den Komfort für die Benutzer einzuschränken.

mhtqpf

1. Aus Subject, From und To unbedingt die Zeilenumbrüche entfernen

s/[\r\n]//g


2. Alle Felder unbedingt auf Plausibilität prüfen.

Im Zeitalter der regulären Ausdrücke sollte das kein Problem sein.

Einige Beispiele:

email prüfen: /^([a-zA-Z0-9\-\.\_]+)@([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2, 4})$/
Telefonnummer prüfen: /[\d-\/()+\/ ]+/

Hier darf nicht der Fehler gemacht werden, nur die unerwünschten Inhalte herauszufiltern. Diese Vorgehensweise führt zwangsläufig dazu, daß eben nicht alles Unerwünschte herausgefiltert wird. Entweder ist das Unerwünschte noch unbekannt, oder man hat's schlicht vergessen.

Bei einer echten Plausibilitätsprüfung werden, im Gegensatz dazu, nur die Daten angenommen, die genau den gewünschten Kriterien entsprechen.


3. HTTP-Header auf Existenz/Gültigkeit prüfen

HTTP_USER_AGENT
HTTP_ACCEPT
HTTP_ACCEPT_LANGUAGE
HTTP_ACCEPT_CHARSET

4. Ein Zeitfenster bestimmen, in dem die Formulardaten gültig sind.

In einem HIDDEN-Feld wird beim Formularaufruf ein Zeitstempel mitgeschickt.
Dieser wird beim Empfang der Daten überprüft. Es müssen sowohl eine Mindestzeit als auch eine Maximalzeit abgeprüft werden.
(Nach meinen Erfahrungen ist als Mindestzeit 8 Sekunden und als Maximalzeit 20 Minuten ausreichend)

5. Mehrfaches Abschicken von Formularen verhindern.

Mit einem zusätzlichen HIDDEN-Feld eine UNIQUE_ID mitschicken und beim Empfang
prüfen, ob diese Formular-ID schon verarbeitet wurde.

6. Punkt 4 und 5 sollten kombiniert werden.

und bei jeder Scriptinstallation geringfügig variieren. Damit wird automatischer Spam ganz erheblich erschwert.

7. Keine E-Mail Adressen in HIDDEN-Feldern übergeben.

Das sollte selbstverständlich sein.

8. Ausschließlich nur POST Variablen verarbeiten.

Das sollte selbstverständlich sein.

9. Wenn möglich, nur eingeloggte Benutzer zulassen

Das ist nicht immer realisierbar, sollte aber bevorzugt werden.


10. Eine Kopie der Fehlversuche an einen Überwachungsaccount senden.

Damit besteht die Möglichkeit, zu erkennen, wenn Spamversuche stattfinden.
Gegebenenfalls können die betreffenden IP-Nummern rechtzeitig gesperrt werden.


Alle Punkte ergeben, zusammen angewendet, ein sehr hohes Maß an Schutz.

TrackBack

TrackBack-URL zu diesem Eintrag: http://vsrv.de/mt-cgi/mt-tb.cgi/62

Kommentar schreiben

(Ihr Kommentar wird zeitverzögert freigeschaltet. Danke für Ihre Geduld.)














Sitemap


no software patents


Home

Tu dich fei besinne
bleib immer emol stieh,
kimmst ah dorten hie
wu de hie willst.
Denn miet Eil un Hast
hat manicher in senn Labn
oft's Schennste verpasst.

Powered by
Movable Type 3.2


gnjg