Ajouter src/functions.php
This commit is contained in:
40
src/functions.php
Normal file
40
src/functions.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/session.php';
|
||||
function esc(string $str): string {
|
||||
return htmlspecialchars($str, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
|
||||
}
|
||||
function isLogged(): bool {
|
||||
start_secure_session();
|
||||
return !empty($_SESSION['user_id']);
|
||||
}
|
||||
function requireLogin(): void {
|
||||
start_secure_session();
|
||||
if (empty($_SESSION['user_id'])) {
|
||||
header('Location: /public/login.php');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
function csrf_token(): string {
|
||||
start_secure_session();
|
||||
if (empty($_SESSION['csrf_token'])) {
|
||||
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
||||
}
|
||||
return $_SESSION['csrf_token'];
|
||||
}
|
||||
function verify_csrf($token): bool {
|
||||
start_secure_session();
|
||||
return isset($_SESSION['csrf_token']) && hash_equals($_SESSION['csrf_token'], (string)$token);
|
||||
}
|
||||
function flash_set(string $key, string $msg): void {
|
||||
start_secure_session();
|
||||
$_SESSION['flash'][$key] = $msg;
|
||||
}
|
||||
function flash_get(string $key): ?string {
|
||||
start_secure_session();
|
||||
if (!empty($_SESSION['flash'][$key])) {
|
||||
$m = $_SESSION['flash'][$key];
|
||||
unset($_SESSION['flash'][$key]);
|
||||
return $m;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
Reference in New Issue
Block a user