philippurbschat.de/home/core/Security.php

17 lines
No EOL
552 B
PHP

<?php
class Security {
// CSRF Generation
public static function csrf() {
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
return $_SESSION['csrf_token'];
}
// CSRF Validation
public static function checkCsrf($token) {
if (!isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], (string)$token)) {
throw new Exception("Sicherheits-Token ungültig. Bitte lade die Seite neu.");
}
return true;
}
}