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 +++++++++++++++++++++++++++++++++++++----------- controller/ckeditor.php | 12 ++++++++++-- controller/password.php | 16 ++++++++++++++++ controller/visitor.php | 8 +++++--- 4 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 controller/password.php (limited to 'controller') 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); } diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 9262da0..d25e5ac 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php @@ -71,13 +71,21 @@ function submitCKeditor($nomFichier) { $titre = $_POST['titre']; $annee = $_POST['annee']; - $pochette = $_POST['pochette']; + $pochette = $_POST['pochette']; // une image + // des formulaires simples $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); $titre = trim($titre); - $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); $annee = trim($annee); + + // pochette + // Album->imageUpload(); + // test formats jpg, jpeg, png, gif, tiff + // enregistrement du fichier + + // du ckeditor + $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); $contenu = trim($contenu); } else // pages comme "melaine" diff --git a/controller/password.php b/controller/password.php new file mode 100644 index 0000000..987670f --- /dev/null +++ b/controller/password.php @@ -0,0 +1,16 @@ +