Formular-Spam vermeiden mit CSS Top-Hacks, Shop-Software

Formular-Spam vermeiden mit CSS

Ein weiterer Versuch: Mit versteckten Feldern Spam in Ihrem Kontaktformular unterbinden

Ein Ansatz zur Vermeidung von Spam in HTML-Formularen könnte mit CSS funktionieren. Spam-Bots füllen jedes Eingabefeld in einem Formular aus und schicken es ab. Um dem einen Riegel vorzuschieben, muss man eigentlich nur alle Eingaben kontrollieren, um zwischen Mensch und Maschine unterscheiden können.

Einen interessanten Ansatz findet man in diesem Artikel: extern Avoid HTML form spam using CSS. Hier ist die Idee in jedem Formular ein verstecktes Feld einzufügen, welches ein Spambot ausfüllen würde, ein Mensch allerdings nicht, da er dieses nicht sieht. Also würde jedes Mail vom Formular mit ausgefülltem unsichtbaren Feld automatisch als Spam zu klassifizieren sein.

Natürlich tauchen hier Probleme auf: Auf Anhieb fallen einem hier Screenreader ein, welcher alle Felder einem sehbeeinträchtigten User vorlesen würde. Eine Ansatz wäre es hier, das Feld zwar unsichtbar zu machen, alternativ jedoch einen Hinweistext hinzuzufügen, dass dieses Feld nicht ausgefüllt werden darf.

Ein Beispiel:

<form method="post" action="form.php">     
 <fieldset>          
  <label id="name">Name:</label>     
  <input id="name" type="text" />          
  <label id="comment">Kommentar:</label>     
  <input id="comment" type="text" />          
  <label id="human">Leer lassen:</label>     
  <input id="human" type="text" />          
  <input value="Senden" type="submit" />   
 </fieldset> 
</form> 

In Ihrer CSS-Datei ergänzen Sie:

#human { 
visibility:hidden; 
display:none; 
} 

Abgeschickte Formulare werden nach Klick auf Senden mit einem PHP-Script kontrolliert, und je ausgefülltem Feld abgesendet oder zurück gehalten.

Erschienen am 22.08.2008, um 11:36h.