From b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 26 Nov 2021 04:29:10 +0100 Subject: =?UTF-8?q?disco=20modif/suppr=20d=C3=A9sordre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/ckeditor.php | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) (limited to 'controller/ckeditor.php') diff --git a/controller/ckeditor.php b/controller/ckeditor.php index d07f2a2..2b9f168 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php @@ -52,28 +52,15 @@ function submitCKeditor($nomFichier) exit(); } - // sécurité faille XSS avec htmLawed - $configHtmLawed = array( - 'safe'=>1, // protection contre les élements et attributs dangereux - 'elements'=>'h2, h3, h4, p, br, span, i, strong, u, mark, blockquote, li, ol, ul, a, figure, hr, img, figcaption, table, tbody, tr, td', // paramètre optionnel: les balises non indiquées sont supprimées - 'deny_attribute'=>'id', // gêner le JS hostile - // on garde 'class' et 'style' utilisés par le ckediteur - ); - $specHtmLawed = ''; // optionnel: faire qu'un certain élément puisse n'avoir que certains attributs - // de l'éditeur if(isset($_POST['contenu'])) // optionnel pour discographie { - $contenu = $_POST['contenu']; + $contenu = Security::secureString($_POST['contenu']); // récupérer les liens multimedia //require("media.php"); //$contenu = mediaSubmit($contenu); - $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); - // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine (pour l'entrée de l'éditeur) - $contenu = trim($contenu); - // ne pas continuer si la variable est vide (javascript mal supporté ou utilisation de IE, bug?, erreur de l'utilisateur), risque perte de contenu !! if($page != 'discographie' && $contenu == '') { @@ -82,18 +69,11 @@ function submitCKeditor($nomFichier) } } - if($page == 'discographie') { - $titre = $_POST['titre']; - $annee = $_POST['annee']; + $titre = Security::secureString($_POST['titre']); + $annee = Security::secureString($_POST['annee']); $pochette = $_FILES['upload']['name']; - - // des formulaires simples - $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); - $titre = trim($titre); - $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); - $annee = trim($annee); // on instancie avec l'enfant de OneArticle $Album = new Album($page); @@ -103,7 +83,7 @@ function submitCKeditor($nomFichier) { // page disco $Album->createVignette($titre, $annee, $pochette); - + // page de l'album if(!empty($_POST['contenu'])) { @@ -125,7 +105,7 @@ function submitCKeditor($nomFichier) // autres pages else { - $Article = new OneArticle($page); + $Article = new Page($page, 'html'); if($_GET['article'] == 0) { @@ -133,7 +113,7 @@ function submitCKeditor($nomFichier) } else { - $Article->setFileName($nomFichier); + $Article->fileName = $nomFichier; $Article->update($contenu); } } -- cgit v1.2.3