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

session_start
();

// CSRF-Token erstellen
$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

Eine zufällige Auswahl von „Bausteinen” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Link farbig unterstreichen

PHP - X-tägige "NEU"-Markierung von Einträgen

JavaScript - Verzögerte Umleitung mit JavaScript

MySQL - Den nächsten und vorherigen Datensatz ermitteln