summaryrefslogtreecommitdiff
path: root/controller/ckeditor.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/ckeditor.php')
-rw-r--r--controller/ckeditor.php32
1 files changed, 6 insertions, 26 deletions
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)
52 exit(); 52 exit();
53 } 53 }
54 54
55 // sécurité faille XSS avec htmLawed
56 $configHtmLawed = array(
57 'safe'=>1, // protection contre les élements et attributs dangereux
58 '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
59 'deny_attribute'=>'id', // gêner le JS hostile
60 // on garde 'class' et 'style' utilisés par le ckediteur
61 );
62 $specHtmLawed = ''; // optionnel: faire qu'un certain élément puisse n'avoir que certains attributs
63
64 // de l'éditeur 55 // de l'éditeur
65 if(isset($_POST['contenu'])) // optionnel pour discographie 56 if(isset($_POST['contenu'])) // optionnel pour discographie
66 { 57 {
67 $contenu = $_POST['contenu']; 58 $contenu = Security::secureString($_POST['contenu']);
68 59
69 // récupérer les liens multimedia 60 // récupérer les liens multimedia
70 //require("media.php"); 61 //require("media.php");
71 //$contenu = mediaSubmit($contenu); 62 //$contenu = mediaSubmit($contenu);
72 63
73 $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed);
74 // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine (pour l'entrée de l'éditeur)
75 $contenu = trim($contenu);
76
77 // ne pas continuer si la variable est vide (javascript mal supporté ou utilisation de IE, bug?, erreur de l'utilisateur), risque perte de contenu !! 64 // ne pas continuer si la variable est vide (javascript mal supporté ou utilisation de IE, bug?, erreur de l'utilisateur), risque perte de contenu !!
78 if($page != 'discographie' && $contenu == '') 65 if($page != 'discographie' && $contenu == '')
79 { 66 {
@@ -82,18 +69,11 @@ function submitCKeditor($nomFichier)
82 } 69 }
83 } 70 }
84 71
85
86 if($page == 'discographie') 72 if($page == 'discographie')
87 { 73 {
88 $titre = $_POST['titre']; 74 $titre = Security::secureString($_POST['titre']);
89 $annee = $_POST['annee']; 75 $annee = Security::secureString($_POST['annee']);
90 $pochette = $_FILES['upload']['name']; 76 $pochette = $_FILES['upload']['name'];
91
92 // des formulaires simples
93 $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed);
94 $titre = trim($titre);
95 $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed);
96 $annee = trim($annee);
97 77
98 // on instancie avec l'enfant de OneArticle 78 // on instancie avec l'enfant de OneArticle
99 $Album = new Album($page); 79 $Album = new Album($page);
@@ -103,7 +83,7 @@ function submitCKeditor($nomFichier)
103 { 83 {
104 // page disco 84 // page disco
105 $Album->createVignette($titre, $annee, $pochette); 85 $Album->createVignette($titre, $annee, $pochette);
106 86
107 // page de l'album 87 // page de l'album
108 if(!empty($_POST['contenu'])) 88 if(!empty($_POST['contenu']))
109 { 89 {
@@ -125,7 +105,7 @@ function submitCKeditor($nomFichier)
125 // autres pages 105 // autres pages
126 else 106 else
127 { 107 {
128 $Article = new OneArticle($page); 108 $Article = new Page($page, 'html');
129 109
130 if($_GET['article'] == 0) 110 if($_GET['article'] == 0)
131 { 111 {
@@ -133,7 +113,7 @@ function submitCKeditor($nomFichier)
133 } 113 }
134 else 114 else
135 { 115 {
136 $Article->setFileName($nomFichier); 116 $Article->fileName = $nomFichier;
137 $Article->update($contenu); 117 $Article->update($contenu);
138 } 118 }
139 } 119 }