Formulare in WordPress-Plugins per Session absichern

Es kommt vor, dass man Formulare durch eine zufällige Zeichenfolge vor erneutem Versenden schützen möchte. Um diesen Wert zu speichern, bietet sich die Session des aktuellen Benutzers an. Auch kann dadurch niemand mit einem selbstgebastelten Formular Daten übermitteln. Eine wichtige Schwachstelle wäre dadurch geschlossen.

Will man dies jedoch in einem WordPress-Plugin machen, steht man vor dem Problem, dass WordPress keine Sessions verwendet. Man könnte natürlich auch ein Cookie verwenden, aber nicht alle Besucher lassen Cookies zu. Die Session ist also unsere erste Wahl.

An sich ist das Ganze auch recht simpel. Es reicht, wenn man per add_action() bei ‚init‘ eine simple Funktion aufruft, die prüft, ob bereits eine Session besteht und wenn nicht, diese startet. Somit haben wir eine aktive Session in die wir einen Zufallswert speichern können.

Generieren wir nun unser Formular benötigen wir eine zufällige Zahl, besser sogar eine zufällige Zeichenfolge. Diese wird im Formular als verstecktes Feld eingebunden. Beim Empfang des Formulars wird dann geprüft, ob der Eintrag des Formulars mit der Session übereinstimmt. Als erstes sollte nun der Eintrag in der Session wieder gelöscht oder geleert werden.

Man ist jedoch damit nicht auf WordPress beschränkt, dies funktioniert natürlich überall in PHP wo mit Sessions gearbeitet wird. Zur Absicherung auf jeden Fall zu empfehlen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.