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.tar.gz melaine-07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f.tar.bz2 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 | } |
