From 07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f Mon Sep 17 00:00:00 2001 From: polo Date: Sat, 14 Aug 2021 01:32:59 +0200 Subject: password --- controller/admin.php | 48 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) (limited to 'controller/admin.php') 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) { $Articles->delete(); header('Location: index.php?page=' . $page_actuelle); + exit(); } // modification else @@ -46,22 +47,20 @@ function melaineEdit($numArticle, $suppression) $Articles->reverseFilesArray(); $articles = $Articles->getAll(); + // sécurisation du contenu pré-existant inséré dans l'éditeur if($numArticle >= 0 && !$suppression) { - // traitements PHP pour l'éditeur require('controller/ckeditor.php'); - // sécurisation du contenu pré-existant inséré dans l'éditeur $texte = preparationCKeditor($numArticle, $texte); } // NB: penser à ajouter au template la fonctionnalité "autosave" // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html - // création des morceaux en HTML avant assemblage - - // variable $editeurHTML, on insère $texte dedans + // morceaux en HTML à assembler + // variable $editeurHTML, contient $texte require('view/template-formulaires.php'); - // variables $css, $js, $header et $content + // variables $css, $js, $header et $content, // $content contient $articles et $editeurHTML require('view/melaine.php'); // fin de l'assemblage @@ -82,25 +81,26 @@ function discoEdit($numArticle, $suppression) // sécurisation du contenu pré-existant inséré dans l'éditeur $texte = preparationCKeditor($numArticle, $texte); - // variable $editeurHTML, on insère $texte dedans + // morceaux en HTML à assembler + // variable $editeurHTML, contient $texte require('view/template-formulaires.php'); - // variables $css, $js, $header et $content + // variables $css, $js, $header et $content, // $content contient ???? et $editeurHTML require('view/discographie.php'); // fin de l'assemblage require('view/template.php'); } -function changerMotDePasse($secret, $from) +function changerMotDePasse($secret) { // vérification supplémentaire if($_SESSION['admin'] !== 1) { $_SESSION['admin'] = 0; header('Location: index.php?page=' . $_GET['from']); + exit(); } - $title = "nouveau mot de passe"; // Ajouter une sécurité par cpatcha avec un "input" supplémentaire // Et créer une variable de session pour la réponse au CAPTCHA @@ -112,7 +112,33 @@ function changerMotDePasse($secret, $from) echo($header); - // traitements: vérification ancien mot de passe et choix du nouveau + // traitements: vérification ancien mot de passe et choix du nouveau + // bon mot de passe + if(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] == $secret) + { + // confirmation + echo($message); + //exit(); + + /*header('Location: index.php?page=' . $_GET['from'] . '&message=nouveau_mdp'); + exit();*/ + } + + // mauvais mot de passe + elseif(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] != $secret) + { + // défense aux attaques par force brute + // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site + echo($erreurMDP); + sleep(1); + echo($formulaireNouveauMDP); + } + + // première arrivée sur la page + else + { + echo($formulaireNouveauMDP); + } echo($footer); } -- cgit v1.2.3