Ist das Auswerten eines Formulars bei mehreren Seiten via Session Variablen sicherer?
Wie schon geschrieben, die Session ist und bleibt nur auf dem Server. Du kannst du da drin ohne Probleme die Daten ablegen, wenn du diese über mehrere Seiten brauchst. Genau dafür sind die Session da
Ich könnte ja auch die Daten mittels URL weitergeben (Zum Beispiel könnte ich die Daten auch speichern, um bei Fehleinhaben nicht tausend Sachen per URL übergeben zu müssen?)
Das exponiert die Daten nach aussen und du musst vor der endgültigen Verarbeitung diese nochmals verifzieren. Da du diese normalerweise nach jedem Formular sowiso überprüfst, musst du das dann mehrfach machen. Das sorgt für neue Angriffsflächen, von daher würde ich das eher vermeiden.
Speichern? Ja, in der Session?
Wie verhält sich das bei der Session? Wenn ich die zusätzlichen Parameter festlege, sollte ich diese dann nach erfolgreicher Übergabe wieder zerstören? Muss ich sonst etwas dabei beachten?
Würde ich schon machen, ansonsten kannst du nämlich ganz hässliche Seiteneffekte bekommen, wenn der Benutzer den Zurück-Button im Browser verwendet (Formulare alle ausgefüllt, letzten Schritt starten (Aktion ausführen), nochmal zurück auf die letzte Seite, nochmal Aktion ausführen?
Generell würde ich dir empfehlen, deine Sessions immer nöglichst "sauber" zu halten. Die Daten nur so lange da drin speichern, wie du die auch wirklich benötigst.
Was bisher noch nicht erwähnt wurde: Bei einem Login auf alle Fälle eine neue SessionID erzeugen. Warum? Angenommen ich rufe die Seite auf und bekomme eine ID. Dann schicke ich dir einen Link wie example.com/?PHPSESSID=meineId und du meldest dich an. Dann hab ich eine gültige SessionID mit deinen Rechten. Nennt sich dann
Session Fixation
Grüsse,
BK