<?php
declare(strict_types=1);

function csrf_token(): string {
  start_app_session();
  if (empty($_SESSION['_csrf'])) {
    $_SESSION['_csrf'] = bin2hex(random_bytes(32));
  }
  return (string)$_SESSION['_csrf'];
}

function csrf_verify(?string $token): void {
  start_app_session();
  $ok = is_string($token) && isset($_SESSION['_csrf']) && hash_equals($_SESSION['_csrf'], $token);
  if (!$ok) {
    http_response_code(419);
    exit('CSRF doğrulaması başarısız.');
  }
}
