diff options
Diffstat (limited to 'controller/admin.php')
| -rw-r--r-- | controller/admin.php | 48 |
1 files changed, 37 insertions, 11 deletions
diff --git a/controller/admin.php b/controller/admin.php index d738dc0..29ccd41 100644 --- a/controller/admin.php +++ b/controller/admin.php | |||
| @@ -31,6 +31,7 @@ function melaineEdit($numArticle, $suppression) | |||
| 31 | { | 31 | { |
| 32 | $Articles->delete(); | 32 | $Articles->delete(); |
| 33 | header('Location: index.php?page=' . $page_actuelle); | 33 | header('Location: index.php?page=' . $page_actuelle); |
| 34 | exit(); | ||
| 34 | } | 35 | } |
| 35 | // modification | 36 | // modification |
| 36 | else | 37 | else |
| @@ -46,22 +47,20 @@ function melaineEdit($numArticle, $suppression) | |||
| 46 | $Articles->reverseFilesArray(); | 47 | $Articles->reverseFilesArray(); |
| 47 | $articles = $Articles->getAll(); | 48 | $articles = $Articles->getAll(); |
| 48 | 49 | ||
| 50 | // sécurisation du contenu pré-existant inséré dans l'éditeur | ||
| 49 | if($numArticle >= 0 && !$suppression) | 51 | if($numArticle >= 0 && !$suppression) |
| 50 | { | 52 | { |
| 51 | // traitements PHP pour l'éditeur | ||
| 52 | require('controller/ckeditor.php'); | 53 | require('controller/ckeditor.php'); |
| 53 | // sécurisation du contenu pré-existant inséré dans l'éditeur | ||
| 54 | $texte = preparationCKeditor($numArticle, $texte); | 54 | $texte = preparationCKeditor($numArticle, $texte); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | // NB: penser à ajouter au template la fonctionnalité "autosave" | 57 | // NB: penser à ajouter au template la fonctionnalité "autosave" |
| 58 | // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html | 58 | // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html |
| 59 | 59 | ||
| 60 | // création des morceaux en HTML avant assemblage | 60 | // morceaux en HTML à assembler |
| 61 | 61 | // variable $editeurHTML, contient $texte | |
| 62 | // variable $editeurHTML, on insère $texte dedans | ||
| 63 | require('view/template-formulaires.php'); | 62 | require('view/template-formulaires.php'); |
| 64 | // variables $css, $js, $header et $content | 63 | // variables $css, $js, $header et $content, |
| 65 | // $content contient $articles et $editeurHTML | 64 | // $content contient $articles et $editeurHTML |
| 66 | require('view/melaine.php'); | 65 | require('view/melaine.php'); |
| 67 | // fin de l'assemblage | 66 | // fin de l'assemblage |
| @@ -82,25 +81,26 @@ function discoEdit($numArticle, $suppression) | |||
| 82 | // sécurisation du contenu pré-existant inséré dans l'éditeur | 81 | // sécurisation du contenu pré-existant inséré dans l'éditeur |
| 83 | $texte = preparationCKeditor($numArticle, $texte); | 82 | $texte = preparationCKeditor($numArticle, $texte); |
| 84 | 83 | ||
| 85 | // variable $editeurHTML, on insère $texte dedans | 84 | // morceaux en HTML à assembler |
| 85 | // variable $editeurHTML, contient $texte | ||
| 86 | require('view/template-formulaires.php'); | 86 | require('view/template-formulaires.php'); |
| 87 | // variables $css, $js, $header et $content | 87 | // variables $css, $js, $header et $content, |
| 88 | // $content contient ???? et $editeurHTML | 88 | // $content contient ???? et $editeurHTML |
| 89 | require('view/discographie.php'); | 89 | require('view/discographie.php'); |
| 90 | // fin de l'assemblage | 90 | // fin de l'assemblage |
| 91 | require('view/template.php'); | 91 | require('view/template.php'); |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | function changerMotDePasse($secret, $from) | 94 | function changerMotDePasse($secret) |
| 95 | { | 95 | { |
| 96 | // vérification supplémentaire | 96 | // vérification supplémentaire |
| 97 | if($_SESSION['admin'] !== 1) | 97 | if($_SESSION['admin'] !== 1) |
| 98 | { | 98 | { |
| 99 | $_SESSION['admin'] = 0; | 99 | $_SESSION['admin'] = 0; |
| 100 | header('Location: index.php?page=' . $_GET['from']); | 100 | header('Location: index.php?page=' . $_GET['from']); |
| 101 | exit(); | ||
| 101 | } | 102 | } |
| 102 | 103 | ||
| 103 | $title = "nouveau mot de passe"; | ||
| 104 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire | 104 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire |
| 105 | // Et créer une variable de session pour la réponse au CAPTCHA | 105 | // Et créer une variable de session pour la réponse au CAPTCHA |
| 106 | 106 | ||
| @@ -112,7 +112,33 @@ function changerMotDePasse($secret, $from) | |||
| 112 | 112 | ||
| 113 | echo($header); | 113 | echo($header); |
| 114 | 114 | ||
| 115 | // traitements: vérification ancien mot de passe et choix du nouveau | 115 | // traitements: vérification ancien mot de passe et choix du nouveau |
| 116 | // bon mot de passe | ||
| 117 | if(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] == $secret) | ||
| 118 | { | ||
| 119 | // confirmation | ||
| 120 | echo($message); | ||
| 121 | //exit(); | ||
| 122 | |||
| 123 | /*header('Location: index.php?page=' . $_GET['from'] . '&message=nouveau_mdp'); | ||
| 124 | exit();*/ | ||
| 125 | } | ||
| 126 | |||
| 127 | // mauvais mot de passe | ||
| 128 | elseif(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] != $secret) | ||
| 129 | { | ||
| 130 | // défense aux attaques par force brute | ||
| 131 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site | ||
| 132 | echo($erreurMDP); | ||
| 133 | sleep(1); | ||
| 134 | echo($formulaireNouveauMDP); | ||
| 135 | } | ||
| 136 | |||
| 137 | // première arrivée sur la page | ||
| 138 | else | ||
| 139 | { | ||
| 140 | echo($formulaireNouveauMDP); | ||
| 141 | } | ||
| 116 | 142 | ||
| 117 | echo($footer); | 143 | echo($footer); |
| 118 | } | 144 | } |
