diff options
Diffstat (limited to 'controller/ckeditor.php')
-rw-r--r-- | controller/ckeditor.php | 32 |
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 | } |