diff --git a/CHANGES.md b/CHANGES.md index eab85b66..78c6bcbe 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,6 @@ # Changelog + ## Version 11.0.00 - Modifications : - Gestion multi-langues @@ -9,19 +10,25 @@ - Configuration du site : - Activation et désactivation de la déconnexion automatique empêchant plusieurs sessions avec le même compte. +## version 10.4.01 +Corrections : + - Module form, erreur de syntaxe. + - Chargement d'un thème, désactivation du contrôle des clés. + ## version 10.4.00 Corrections : - Bug de pages non accessibles dans le menu suite à la création d'entrées fantômes dans le fichier de données de modules. - - Nettoyage du fichiers des données de modules des entrées fantômes. + - Nettoyage du fichier des données de modules des entrées fantômes. - Thème : déformation des images en arrière-plan dans les modes responsives cover et contain lorsque la longueur de la page change. L'image en arrière-plan est désormais placée dans la balise html et l'option fixe s'active lorsque cover ou contain sont sélectionnés. - Thème : déformation du sélecteur de fichiers dans certains formats de page. - Module Form : mauvais affichage du guillemet et de l'apostrophe dans les noms des champs lors de l'édition. + - Thème : faille CSRF, protection de la réinitialisation des fichiers de thème. - Modifications : - Filtrage des URL générées par facebook (FBCLID) occasionnant une erreur 404 - Captcha arithmétique, activation recommandée dans la configuration. - Module User - Pour les articles de blog et de news, choix de la signature, nom+prenom ; nom+prenom ; id ; pseudo - - Importation d'un liste d'utilisateur dans un fichier plat (CSV). + - Importation d'une liste d'utilisateur dans un fichier plat (CSV). - Module Blog : - Texte du commentaire enrichi. - Nombre maximal de caractère par commentaire. diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index a1820966..32da51ec 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -533,31 +533,43 @@ class theme extends common { * Réinitialisation de la personnalisation avancée */ public function reset() { - // Supprime le fichier de personnalisation avancée - $redirect =''; - switch ($this->getUrl(2)) { - case 'admin': - $this->initData('admin'); - $redirect = helper::baseUrl() . 'theme/admin'; - break; - case 'manage': - $this->initData('theme'); - $redirect = helper::baseUrl() . 'theme/manage'; - break; - case 'custom': - unlink(self::DATA_DIR.'custom.css'); - $redirect = helper::baseUrl() . 'theme/advanced'; - break; - default : - $redirect = helper::baseUrl() . 'theme'; - } + // $url prend l'adresse sans le token + $url = explode('&',$this->getUrl(2)); - // Valeurs en sortie - $this->addOutput([ - 'notification' => 'Réinitialisation effectuée', - 'redirect' => $redirect, - 'state' => true - ]); + if ( isset($_GET['csrf']) + AND $_GET['csrf'] === $_SESSION['csrf'] + ) { + // Réinitialisation + $redirect =''; + switch ($url[0]) { + case 'admin': + $this->initData('admin'); + $redirect = helper::baseUrl() . 'theme/admin'; + break; + case 'manage': + $this->initData('theme'); + $redirect = helper::baseUrl() . 'theme/manage'; + break; + case 'custom': + unlink(self::DATA_DIR.'custom.css'); + $redirect = helper::baseUrl() . 'theme/advanced'; + break; + default : + $redirect = helper::baseUrl() . 'theme'; + } + + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Réinitialisation effectuée', + 'redirect' => $redirect, + 'state' => true + ]); + } else { + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Jeton incorrect' + ]); + } } @@ -644,7 +656,7 @@ class theme extends common { // traitement de l'erreur $notification = $success ? 'Le thème a été importé' : 'Erreur lors de l\'extraction, vérifiez les permissions.'; // Check le thème - $this->checkImport($modele); + // $this->checkImport($modele); } else { // pas une archive de thème $success = false; diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php index 134e4bba..46c20ff3 100755 --- a/core/module/theme/view/admin/admin.php +++ b/core/module/theme/view/admin/admin.php @@ -16,7 +16,7 @@