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.

<hgroup> Überschriften gruppieren

CSS - Ladeanimation ohne Bild-Grafik

PHP - Ein Verzeichnis als ZIP-Archiv verpacken

JavaScript - outerHTML - Quelltext anzeigen

MySQL - Die Differenz zweier Uhrzeiten ermitteln

Sinnvolle Kommentare
Ein HTML-, JavaScript oder PHP-Quelltext, der zum Beispiel mit Leerzeilen und Einrückungen übersichtlich aufgebaut ist und an entscheidenden Stellen Umbrüche und Kommentare aufweist, ist deutlich leichter zu pflegen.
Auch wenn Sie Teile des Quelltextes auf einer anderen Seite benötigen, können Sie den mit Kommentaren versehenen Code leichter nachvollziehen!