PHP WebShell
Текущая директория: /var/www/bitcardoApp/lib
Просмотр файла: csrf.php
<?php
// lib/csrf.php — tiny CSRF helper
function csrf_ensure(): void {
if (session_status() !== PHP_SESSION_ACTIVE) session_start();
if (empty($_SESSION['csrf'])) {
$_SESSION['csrf'] = bin2hex(random_bytes(32));
}
}
function csrf_token(): string {
csrf_ensure();
return $_SESSION['csrf'];
}
function csrf_verify_or_fail(?string $token, string $failRedirect = null): void {
csrf_ensure();
if (!$token || !hash_equals($_SESSION['csrf'], (string)$token)) {
if ($failRedirect) {
$_SESSION['error'] = 'Session expired. Please try again.';
header('Location: ' . $failRedirect);
exit;
}
http_response_code(403);
exit('CSRF verification failed.');
}
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!