20 lines
557 B
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';
|