molily: PHP: Wie schützt man sich vor unerwartetem $_POST im Formular

Beitrag lesen

Aber solch ein Ansatz kann ja noch gesteigert werden; z.B. kann ein Formular mit 2 unterschiedlichen Session-Keys, von denen einer per header in den Cookie gesetzt und der andere per Ajax generiert wird

Diese Steigerung ist im Vergleich zu seinem Nutzen unnötig kompliziert. Sie hat dieselbe Sicherheit wie das serverseitige Schreiben eines Tokens in ein verstecktes Eingabefeld. Ein Angreifer kann sich Cookie-Token und Ajax-Token ebenfalls automatisiert holen, es fordert ihm nur eine Minute mehr Aufwand ab.

Ob der Token direkt ins Formular geschrieben wird oder erst per Ajax geholt wird, ist insofern ziemlich gleich. Beides verhindert CSRF, erschwert Spamming aber nur wenig. Letzteres macht nur das Formular für ehrliche Benutzer ohne JavaScript nicht bedienbar.

Mathias