Sven Rautenberg: Allheilmittel gegen Spambots?

Beitrag lesen

Moin!

Damit menschliche Benutzer hier nichts eintragen, wird das Feld per CSS versteckt. Aber Achtung! Das Feld nicht als type="hidden” auszeichnen, und NICHT mit display:none oder visibility:hidden verstecken. So dumm sind die Bots dann doch nicht.
Richtig ist vielmehr, das Feld per CSS aus dem viewport zu verschieben.

Frage:
Ist dies wirklich ein Heilmittel?

Es hilft, aber es ist kein Allheilmittel.

Wenn der Bot CSS liest (um wie der Author schreibt, display:none o.ä zu erkennen), so wird er doch auch erkennen, dass das Feld seltsame Positionsangaben enthält und wird dieses Feld wie ein hidden-Feld behandeln.

Ein Bot liest das HTML, sucht Formularfelder, und kann die Fundstellen auf typische Anzeichen für Spamfallen prüfen. Wenn direkt im Formularfeld type="text" und style="display:none" steht, kann er sich denken, dass das eine Falle ist.

Wenn das Formularfeld aber nur "nackt" im HTML steht, und durch abstrusere CSS-Kombinationen, also z.B. externe CSS-Dateien mit komplexeren Selektoren, ausgeblendet oder verschoben wird, bedeutet das einen recht hohen Erkennungsaufwand, den ein Botprogrammierer nicht unbedingt treiben wird. Er wird wohl eher den einfacheren Weg gehen, und lieber ein paar unterschiedliche Requests probieren, die nicht alle Felder auf gleiche Weise verändern. Mit Glück kommt ein Request durch.

Deshalb: Nicht angezeigte Formularfelder sind keine Garantie gegen Spambots, sie helfen nur, die Erkennungsrate angenehm hoch zu setzen.

- Sven Rautenberg

--
"Love your nation - respect the others."