From ad3e9aba65ea441e31d3b05674c56c8f3b656aa4 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 2 Jun 2024 15:30:12 +0200 Subject: [PATCH] =?UTF-8?q?Lorsque=20des=20=C3=A9l=C3=A9ments=20inutiles?= =?UTF-8?q?=20sont=20ajout=C3=A9s=20=C3=A0=20l'adresse=20d'une=20page,=20u?= =?UTF-8?q?ne=20erreur=20403=20est=20lev=C3=A9e.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +-- core/class/router.class.php | 10 +++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8e5b54ff..58aa4278 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,8 +6,7 @@ - Dans la configuration, l'option Apache URL intelligentes ne s'active que si le serveur est Apache et que le module Rewriter est actif. Ce qui exclue les autres serveurs non compatibles comme Nginx, Caddy etc. - L'ajout d'un slash en fin d'adresse avec la réécriture active provoquait une mauvaise détermination des adresses des images dans TinyMCE. Résolution : une directive htaccess supprime tous les slash en fin d'adresse. - Lorsque la page est ouverte en édition, un clic sur le bouton édition dans la barre d'administration affiche une erreur, le lien étant incorrect. Afin d'éviter cette erreur et une redondance, le bouton d'édition est masqué lorsque la page est éditée. - - +- Lorsque des éléments inutiles sont ajoutés à l'adresse d'une page, une erreur 403 est levée. ## Versions 13.3.01 - 13.2.02 diff --git a/core/class/router.class.php b/core/class/router.class.php index f0575d3b..9676014d 100644 --- a/core/class/router.class.php +++ b/core/class/router.class.php @@ -474,6 +474,13 @@ class core extends common ) { $access = false; } + // Lève une erreur si l'url est celle d'une page avec des éléments surnuméraires https://www.site.fr/page/truc + if ( + array_key_exists($this->getUrl(0), $this->getData(['page'])) + and $this->getUrl(1) + ) { + $access = false; + } } /** @@ -795,7 +802,8 @@ class core extends common http_response_code(404); // Pour éviter une 404, bascule dans l'espace correct si la page existe dans cette langue. // Parcourir les espaces - foreach (common::$languages as $langId => $value) {; + foreach (common::$languages as $langId => $value) { + ; if ( // l'espace existe is_dir(common::DATA_DIR . $langId) &&