Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann die Übermittlung von Formularen mit mehreren Klicks in PHP mithilfe eindeutiger Token verhindert werden?

Wie kann die Übermittlung von Formularen mit mehreren Klicks in PHP mithilfe eindeutiger Token verhindert werden?

Barbara Streisand
Freigeben: 2024-11-12 06:23:02
Original
532 Leute haben es durchsucht

How to Prevent Multiple Click Form Submission in PHP Using Unique Tokens?

Verhinderung mehrfacher Formularübermittlungen in PHP

In Webanwendungen kann die Verhinderung mehrfacher Formularübermittlungen das Benutzererlebnis und die Datenintegrität verbessern. PHP bietet eine Lösung für dieses Problem.

Lösung: Einzigartiges Token

PHP verwendet eindeutige Token, die jedes Mal generiert werden, wenn ein Formular angezeigt wird. Dieser Token kann nur einmal verwendet werden. Die Implementierung eines Token-Systems verhindert nicht nur die mehrfache Formularübermittlung, sondern schützt auch vor Cross-Site Request Forgery (CSRF) und Replay-Angriffen.

Implementierungsbeispiel:

<?php
session_start();

// Function to create a unique token
function getToken() {
  $token = sha1(mt_rand());
  $_SESSION['tokens'][$token] = 1;
  return $token;
}

// Function to validate a token
function isTokenValid($token) {
  if (isset($_SESSION['tokens'][$token])) {
    unset($_SESSION['tokens'][$token]);
    return true;
  }
  return false;
}

// Check if a form has been submitted
$postedToken = filter_input(INPUT_POST, 'token');
if ($postedToken) {
  if (isTokenValid($postedToken)) {
    // Process form
  } else {
    // Handling for invalid token
  }
}

// Generate a token for the displayed form
$token = getToken();
?>

<form method="post">
  <fieldset>
    <input type="hidden" name="token" value="<?php echo $token; ?>">
    <!-- Add form content -->
  </fieldset>
</form>
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Kombinieren Sie das Token-System mit eine Weiterleitung nach der Formularübermittlung, um das erwartete Browserverhalten beizubehalten.
  • Weitere Informationen zur ordnungsgemäßen Formularverarbeitung finden Sie im POST-/Redirect-/GET-Muster.

Durch Implementierung dieser tokenbasierten Lösung , PHP-Entwickler können mehrere Formularübermittlungen effektiv verhindern, die Datenintegrität sicherstellen und die Benutzererfahrung verbessern.

Das obige ist der detaillierte Inhalt vonWie kann die Übermittlung von Formularen mit mehreren Klicks in PHP mithilfe eindeutiger Token verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage