File manager - Edit - /home/webapp69.cm.in.th/u69319090028/Shop/app/Middleware/CsrfMiddleware.php
Back
<?php /** * CSRF Middleware * Validates CSRF token on mutating requests (POST, PUT, DELETE) */ require_once __DIR__ . '/../Helpers/Security.php'; require_once __DIR__ . '/../Helpers/Session.php'; require_once __DIR__ . '/../Helpers/Url.php'; class CsrfMiddleware { public function handle(): void { $method = $_SERVER['REQUEST_METHOD'] ?? 'GET'; if (in_array($method, ['POST', 'PUT', 'DELETE'], true)) { $token = $_POST['csrf_token'] ?? $_SERVER['HTTP_X_CSRF_TOKEN'] ?? null; if (!Security::verifyCsrfToken($token)) { // If AJAX request if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') { http_response_code(403); echo json_encode(['success' => false, 'message' => __('invalid_csrf')]); exit; } Session::setFlash('danger', __('invalid_csrf')); $referer = $_SERVER['HTTP_REFERER'] ?? Url::to('/'); header("Location: " . $referer); exit; } } } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.23 |
proxy
|
phpinfo
|
Settings