Globinours/public/router.php

20 lines
557 B
PHP

<?php
declare(strict_types=1);
// Routeur destiné uniquement au serveur PHP intégré pour les démonstrations.
$requestPath = rawurldecode((string) (parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?: '/'));
$publicRoot = realpath(__DIR__);
$requestedFile = realpath(__DIR__ . $requestPath);
if (
$requestPath !== '/' &&
$publicRoot !== false &&
$requestedFile !== false &&
str_starts_with($requestedFile, $publicRoot . DIRECTORY_SEPARATOR) &&
is_file($requestedFile)
) {
return false;
}
require __DIR__ . '/index.php';