diff options
author | polo <ordipolo@gmx.fr> | 2021-08-14 01:32:59 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-08-14 01:32:59 +0200 |
commit | 07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f (patch) | |
tree | 81fa397b2482984554c2d559e8cca7e08dfec312 /controller | |
parent | cd4cffac62363c132d5ce98680b0303dd9b4d4f9 (diff) | |
download | melaine-07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f.zip |
password
Diffstat (limited to 'controller')
-rw-r--r-- | controller/admin.php | 48 | ||||
-rw-r--r-- | controller/ckeditor.php | 12 | ||||
-rw-r--r-- | controller/password.php | 16 | ||||
-rw-r--r-- | controller/visitor.php | 8 |
4 files changed, 68 insertions, 16 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 | } |
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) | |||
71 | { | 71 | { |
72 | $titre = $_POST['titre']; | 72 | $titre = $_POST['titre']; |
73 | $annee = $_POST['annee']; | 73 | $annee = $_POST['annee']; |
74 | $pochette = $_POST['pochette']; | 74 | $pochette = $_POST['pochette']; // une image |
75 | 75 | ||
76 | // des formulaires simples | ||
76 | $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); | 77 | $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); |
77 | $titre = trim($titre); | 78 | $titre = trim($titre); |
78 | $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); | ||
79 | $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); | 79 | $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); |
80 | $annee = trim($annee); | 80 | $annee = trim($annee); |
81 | |||
82 | // pochette | ||
83 | // Album->imageUpload(); | ||
84 | // test formats jpg, jpeg, png, gif, tiff | ||
85 | // enregistrement du fichier | ||
86 | |||
87 | // du ckeditor | ||
88 | $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); | ||
81 | $contenu = trim($contenu); | 89 | $contenu = trim($contenu); |
82 | } | 90 | } |
83 | else // pages comme "melaine" | 91 | 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 @@ | |||
1 | <?php | ||
2 | // password.php | ||
3 | |||
4 | function hashNewPassword() | ||
5 | { | ||
6 | //$hash = password_hash($password, PASSWORD_DEFAULT); | ||
7 | |||
8 | // écrire dans un fichier | ||
9 | } | ||
10 | |||
11 | function testPassword() | ||
12 | { | ||
13 | // lire dans un fichier | ||
14 | |||
15 | //if(password_verify($password, $hash)) | ||
16 | } \ No newline at end of file | ||
diff --git a/controller/visitor.php b/controller/visitor.php index 16f9c40..539df1f 100644 --- a/controller/visitor.php +++ b/controller/visitor.php | |||
@@ -87,6 +87,7 @@ function connexion($secret) | |||
87 | if($_SESSION['admin'] == 1) | 87 | if($_SESSION['admin'] == 1) |
88 | { | 88 | { |
89 | header('Location: index.php?page=' . $_GET['from']); | 89 | header('Location: index.php?page=' . $_GET['from']); |
90 | exit(); | ||
90 | } | 91 | } |
91 | 92 | ||
92 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire | 93 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire |
@@ -105,14 +106,15 @@ function connexion($secret) | |||
105 | { | 106 | { |
106 | $_SESSION['admin'] = 1; | 107 | $_SESSION['admin'] = 1; |
107 | header('Location: index.php?page=' . $_GET['from']); | 108 | header('Location: index.php?page=' . $_GET['from']); |
108 | exit (); | 109 | exit(); |
109 | } | 110 | } |
110 | 111 | ||
111 | // mauvaise mot de passe | 112 | // mauvais mot de passe |
112 | elseif(isset ($_POST["motdepasse"]) AND $_POST["motdepasse"] != $secret) | 113 | elseif(isset ($_POST["motdepasse"]) AND $_POST["motdepasse"] != $secret) |
113 | { | 114 | { |
114 | // défense aux attaques par force brute | 115 | // défense aux attaques par force brute |
115 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site | 116 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site |
117 | echo($erreurMDP); | ||
116 | sleep(1); | 118 | sleep(1); |
117 | echo($formulaireConnexion); | 119 | echo($formulaireConnexion); |
118 | } | 120 | } |
@@ -124,4 +126,4 @@ function connexion($secret) | |||
124 | } | 126 | } |
125 | 127 | ||
126 | echo($footer); | 128 | echo($footer); |
127 | } \ No newline at end of file | 129 | } |