phpbar.de logo

Mailinglisten-Archive

[php] "empfehlen" - formulare

[php] "empfehlen" - formulare

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mit Nov 23 13:02:49 CET 2005


Hi Reinhold,

Am Mittwoch, 23. November 2005 12:50 schrieb Reinhold Jordan:
> >> wie schützt ihr solche skripte gegen missbrauch?
> >
> > auf jedenfall prüfen, ob das abgesendete Formular auch von dem
> > eigenen/erlaubten Server kommt.
>
> Du meinst nicht etwa HTTP_REFERER, oder? Das ist doch das erste,
> was ein Skriptkiddie fälscht. Das läßt sich z.B. bei wget auch
> sehr einfach setzen...

nicht nur das. :-) Das Problem ist ja auch, daß ein nicht unerheblicher Teil 
der Anwender ihren Browser bzw. ihre Firewall so konfiguriert haben, daß der 
Referer nicht mitgesendet wird. D.h. ein Skript, welches also nur 
funktioniert, wenn der HTTP_REFERER stimmt, gibt auch sonst Probleme.

Ich denke, der Ansatz von Andi funktioniert halbwegs, wenn man bei jedem 
Formularaufruf eine eindeutige ID auf dem Server generiert, diese auf dem 
Server vermerkt und dann im Formular einbaut. Wird das Formular abgeschickt, 
wird die ID mitgeschickt. Steht die ID in der Merkliste auf dem Server, läuft 
das Programm weiter, wenn nicht wir abgebrochen.

Wichtig wäre dabei, daß die ID erstens nach einer kurzen Zeit - z.B. fünf 
Minuten - wieder aus der Liste entfernt wird, auch wenn das Formular (noch) 
nicht abgeschickt wurde, und zweitens umgehend aus der Liste entfernt wird, 
sobald die ID einmal verwendet wurde.

Letztendlich denke ich aber, daß man damit nur zusätzliche Hürden zur 
Abschreckung aufbaut. Wer es wirklich darauf anlegt, wird auch diesen 
Mechanismus knacken. Immerhin bietet er einen gute Schutz gegen 
automatisierte Spamversuche, wenn er mit den anderen Maßnahmen, die hier 
vorgeschlagen wurden, gekoppelt wird, insbesondere die Mengen- und 
Zeitbegrenzungen.


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive