hilfdirselbst.ch
Facebook Twitter gamper-media
Forenindex -- Lesezeichen

6 Lesezeichen für formularspam

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


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-\/()+\/ ]+/

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.

Update:
In der Zwischenzeit sind noch einige pfiffige Tricks dazugekommen

11. Trigger einbauen
Bei der Formularauswertung wird geprüft, ob in einem bestimmten Zeitraum eine vorgegebene Seite aufgerufen wurde. Wenn nicht, ist es ein untrügliches Anzeichen für einen Spider/Bot.

12. Anbieten einer Vorschau
Automatische Spider können nicht unterscheiden, welcher Button das endgültige Abschicken auslöst.
So wird immer nur die Vorschau aufgerufen und damit keine weitere Wirkung erzielt.
...
oesi50
7. Mär 2006, 13:52
||| File und Adresse per Mail senden
Ja, das ist eine Spamschleuder allererster Güte. Man kann damit sogar Leute mit attachments zumüllen, ein Novum :)
...
ganesh
28. Apr 2007, 12:56
Hilfe mein Gästebuch wird vollgespammt!
Ich würde nicht unbedingt den Captchas vertrauen.

Den passenden Captcha-Decoder gibt es nämlich hier:

http://sam.zoy.org/pwntcha/
...
oesi50
16. Jul 2006, 15:42
Gefährliche Formulare
Hallo

Unser Formular wurde soeben für Spam benutzt, irgendwo haben Sie MIME-Version 1.0 eingeschläust und via BCC jemanden belästigt. . .

Wollte mal nachfragen, ob nachfolgender PHP-Code ausreicht um dies definitif zu stoppen ?

$societe = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['societe'] );
$societe = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $societe);
//dies natürlich in allen feldern

Oder muss ich da noch härteres Geschütz auffahren ?

Besten Dank für tipps und tricks
jurg...
jrandi
3. Mär 2006, 14:38
Gefährliche Formulare
Antwort auf: solange wir noch keine besseren OCR (texterkennungssoftware) haben wirds auch "unknackbar" bleiben.


haben wir doch, und sogar die allerbesten.

Hier wird beschrieben, wie es funktioniert:

http://www.boingboing.net/...ng_and_creating.html

Kurze Zusammenfassung des o.a. Artikels:

Man baut eine freie(kostenlose) P0rn0-Seite. Als Bestätigung zur Betrachtung der "Kunstwerke" bindet man das zu lösende CAPTCHA ein. Voilà tout! Der beste aller OCR-Erkenner löst die Aufgabe und das Spammer-Script kann munter loswackeln.

Der Character der Kunstwerke stellt auch sicher, daß genügend OCR-Erkenner in kurzer Zeit
tätig werden.


Gerade eben muss ich feststellen, daß rac dieses Verfahren auch schon gepostet hat.
http://www.hilfdirselbst.ch/..._P214697.html#214697
...
oesi50
2. Mär 2006, 18:29
formular und spam
Darf ich darauf aufmerksam machen, dass alle zur Zeit angewendeten Captcha-Programme mit einer Wahrscheinlichkeit von 92% auslesbar sind.

Mit anderen Worten von 100 Spamversuchen gelingen 92.

hier schon zum Testen:

http://www.pwntcha.net/test.html

und hier was zum nachlesen:

http://www.cs.sfu.ca/~mori/research/gimpy/


Es ist immer noch am besten, wenn man seine eigenen ganz speziellen Varianten von Sicherheitsabfragen entwickelt, weil automatische Scripte diese Speziallösungen nicht finden können.


Wenn man meine oben dargestellte Zeitmethode, so anwendet, daß bei jedem Formular eine andere einstellbare Kodierung verwendet wird, ist es für die Spammer fast unmöglich durchzukommen.
...
oesi50
11. Feb 2006, 18:14