Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
class Session {
public static function start(): void {
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
}
public static function getCsrfToken(): string {
self::start();
if (empty($_SESSION['csrf'])) {
$_SESSION['csrf'] = bin2hex(random_bytes(32));
}
return $_SESSION['csrf'];
}
public static function verifyCsrf(): bool {
self::start();
return isset($_POST['csrf']) &&
hash_equals($_SESSION['csrf'] ?? '', $_POST['csrf']);
}
public static function csrfField(): string {
return '<input type="hidden" name="csrf" value="' . h(self::getCsrfToken()) . '">';
}
public static function destroy(): void {
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
}
}