PHP Post-Redirect-Get (PRG)-Codebeispiel
Bei der Implementierung des PRG-Musters in PHP ist es wichtig, die richtigen Schritte zu befolgen um den Schutz vor Problemen beim Neuladen der Seite und bei Problemen mit der Zurück-Schaltfläche zu gewährleisten. Lassen Sie uns die grundlegende Implementierung untersuchen:
In Ihrem Code:
Dieser Ansatz bietet eine einfache und effektive Lösung gegen CSRF-Angriffe und verhindert diese unbeabsichtigte erneute Übermittlungen oder Datenduplizierung.
Einfachstes PRG-Szenario
Für eine vereinfachte PRG-Implementierung können Sie den folgenden Codeausschnitt verwenden:
if ($_POST) { // Validate the input if (/* input is OK */) { // Execute code (database updates, etc.) // Redirect to the same page header("Location: {$_SERVER['REQUEST_URI']}", true, 303); exit(); } }
Denken Sie daran, REQUEST_URI anstelle von PHP_SELF zu verwenden, um die Kompatibilität mit CMS-Systemen und Frameworks zu gewährleisten, bei denen PHP_SELF möglicherweise umleitet zu einem anderen Skript (z. B. index.php).
Das obige ist der detaillierte Inhalt vonWie verhindert das Post-Redirect-Get (PRG)-Muster von PHP Datenduplizierung und CSRF-Angriffe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!