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.

<dialog> Dialog Element

CSS - Hintergrundbild absolut positionieren

PHP - Verzeichnisgröße auslesen 2

JavaScript - Eine CSS-Klasse hinzufügen, wenn ein Bildlauf durchgeführt wird

MySQL - Mehrere Spalten einer Tabelle sortieren

Sitemap - Übersicht
Werden auf einer Seite zu viele Links angezeigt, kann der Besucher schnell die Übersicht verlieren. Bei größeren Webseiten empfiehlt es sich daher eine Seite mit einer Übersicht (oder Inhaltsverzeichnis) anzubieten.