[GastForen Web allgemein Kampf gegen Spam und Terror im Internet

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Wie kann ich effektiv Formularspam verhindern?

oesi50
  
Beiträge gesamt: 2315

17. Mär 2006, 11:58
Bewertung:

gelesen: 153380

Beitrag als Lesezeichen
hi buzzbomb,

du machst den gleichen Fehler, der von den Meisten gemacht wird.

Dieser Fehler besteht darin, immer nur unerwünschte 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.


Beispiel E-Mail:

Filtern: /(content-type:|bcc:|cc:|to:|from:)/

hier werden verschiedene Zeichenkombinationen herausgefiltert.
Weißt du, ob es nicht doch noch andere gibt?

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

damit wird geprüft, ob die E-Mail genau so aussieht: 'fred@example.com'.

Wenn hier also Daten der Form: 'bcc:fred@example.com' ankommen, dann sind sie automatisch ungültig.


Für die restlichen Datenfelder gilt das Gleiche sinngemäß.

Zusätzlich ist natürlich auch noch zu prüfen, ob der Ablauf der Dateneingabe plausibel ist. Aber das habe ich ja oben schon beschrieben.


PS.
In Perl gibt es sogar einen taint-Modus dafür. Da wird überwacht, welchen Variablen man trauen kann und welchen nicht.

(Dieser Beitrag wurde von oesi50 am 17. Mär 2006, 12:05 geändert)
Änderungsverlauf:
Beitrag geändert von oesi50 (Hausmeister) am 17. Mär 2006, 11:59
Beitrag geändert von oesi50 (Hausmeister) am 17. Mär 2006, 12:05