Heim > Backend-Entwicklung > PHP-Tutorial > So fügen Sie einen Token-Überprüfungsmechanismus in PHP-Form hinzu

So fügen Sie einen Token-Überprüfungsmechanismus in PHP-Form hinzu

王林
Freigeben: 2023-06-24 18:08:01
Original
1133 Leute haben es durchsucht

In der Webentwicklung sind Formulare ein wichtiger Kommunikationskanal zwischen Benutzern und Servern. Um die Sicherheit zu gewährleisten, müssen wir beim Absenden des Formulars einen Token-Überprüfungsmechanismus hinzufügen, um Angriffe durch böswillige Angreifer zu vermeiden.

Das Grundprinzip der Token-Verifizierung ist: Der Server generiert eine Zufallszahl und übergibt das Token an den Client, indem er ein verstecktes Feld im Formular hinzufügt. Wenn der Client das Formular absendet, wird das Token an den Server zurückgesendet überprüft die Richtigkeit des Tokens. Wenn es übereinstimmt, wird die Übermittlung des Formulars zugelassen, andernfalls wird die Übermittlung abgelehnt.

Im Folgenden stellen wir vor, wie der Token-Verifizierungsmechanismus in PHP implementiert wird.

  1. Fügen Sie ein verstecktes Feld im Formular hinzu

Wir können die Funktion rand() von PHP verwenden, um eine Zufallszahl als Token zu generieren, und dann das Token zum versteckten Feld im Formular hinzufügen. Der Code lautet wie folgt:

<?php
$token = rand(); //生成随机数作为Token
?>
<form action="submit.php" method="post">
  <input type="hidden" name="token" value="<?php echo $token; ?>">
  <!-- 其他表单元素 -->
  <button type="submit">提交</button>
</form>
Nach dem Login kopieren
  1. Token überprüfen

Nachdem das Formular übermittelt wurde, müssen wir überprüfen, ob das Token im Formular korrekt ist. Wir können das Token in der Sitzung des Servers speichern und das vom Formular übermittelte Token mit dem in der Sitzung gespeicherten Token vergleichen. Der Code lautet wie folgt:

<?php
session_start(); // 开启session
$token = $_POST['token']; //获取表单提交的Token值
if ($token === $_SESSION['token']) { //判断Token是否匹配
  // ... 其他操作
} else {
  echo 'Token验证失败';
}
?>
Nach dem Login kopieren

Hinweis: Nachdem jede Formularübermittlung und -überprüfung erfolgreich war, müssen wir ein neu generieren Neues Token und aktualisieren Sie den in der Sitzung gespeicherten Token-Wert. Dadurch werden wiederholte Formularübermittlungen und böswillige Angriffe vermieden.

<?php
session_start(); // 开启session

// 验证Token
if ($_POST['token'] !== $_SESSION['token']) {
  die('Token验证失败');
}

// 更新Token
$_SESSION['token'] = rand();
// ... 其他操作
?>
Nach dem Login kopieren

Auf diese Weise haben wir den Token-Überprüfungsmechanismus erfolgreich zum PHP-Formular hinzugefügt und die Sicherheit der Website verbessert.

Das obige ist der detaillierte Inhalt vonSo fügen Sie einen Token-Überprüfungsmechanismus in PHP-Form hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage