PHP - CSRF-Token für Formulare erstellen

Cross-Site-Request-Forgery (CSRF) ist eine Angriffstechnik auf eine Website. Sie bringt einen gegenüber der Website authentisierten Benutzer dazu, unbewusst manipulative Aktionen durchzuführen.

Der auf Session basierende Page-Token, zur Authentifizierung des Formulars, wird in einem versteckten Formularfeld auf der Seite eingebunden.


<?php

// CSRF-Token für Formulare erstellen

session_start();

// CSRF-Token erzeugen
if (!isset($_SESSION["token"])) {
 
$min 1000;
 
$max getrandmax();
 
$_SESSION["token"] = rand($min$max);
}

if (
$_SERVER["REQUEST_METHOD"] == "POST") {
 if (
$_SESSION["token"] != $_POST["token"]) {
  die;
 }
 else {
  ...
 }
}
?>

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Formular</title>
 </head>
<body>

<form action="" method="post">
    <input type="hidden" name="token" value="<?=$_SESSION["token"]?>">
    ...
</form>

<body>
</html>

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<doctype> Dokumententyp

CSS - Tabellenzeilen bei :hover hervorheben

PHP - Callback-Funktion auf jedes Element in einem Array anwenden

JavaScript - Seite laden oder erneut laden

MySQL - Das Datum der letzten Woche anzeigen