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 +++++---
data/password.txt | 1 +
index.php | 11 ++++++++---
model/Classes.php | 8 +++++---
public/accueil.css | 12 ++++++++++++
public/main.js | 13 ++++++++++---
view/connexion.php | 27 ++++++++++++++++++++++++++-
view/melaine.php | 4 ++--
view/template.php | 6 +++---
12 files changed, 135 insertions(+), 31 deletions(-)
create mode 100644 controller/password.php
create mode 100644 data/password.txt
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 @@
+
-
+
+
@@ -48,9 +56,26 @@ ob_start();
Mauvais mot de passe
';
+
+// confirmation modification mot de passe
+ob_start();
+?>
+
+
+
+ Rappel de sécurité
Vous n'utilisez pas votre propre ordinateur ou téléphone: utilisez la navigation privée!
diff --git a/view/template.php b/view/template.php
index b7ea0fb..ded1d08 100644
--- a/view/template.php
+++ b/view/template.php
@@ -77,11 +77,11 @@ if($_SESSION['admin'] == 1)