summaryrefslogtreecommitdiff
path: root/index.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2021-08-18 10:45:26 +0200
committerpolo <ordipolo@gmx.fr>2021-08-18 10:45:26 +0200
commit452420d0cd05822a9974fe27f0edc4cc4dc300cc (patch)
treeb9f3e14e598080f54bf5ab4ee0657ba3624908aa /index.php
parent84cb077b39d990c240976a6b20024c89c903ba91 (diff)
downloadmelaine-452420d0cd05822a9974fe27f0edc4cc4dc300cc.zip
password
Diffstat (limited to 'index.php')
-rw-r--r--index.php38
1 files changed, 20 insertions, 18 deletions
diff --git a/index.php b/index.php
index 8f6128e..dc5f3ba 100644
--- a/index.php
+++ b/index.php
@@ -38,12 +38,7 @@
38// - autoriser PHP (sinon, c'est comme si on avait un site statique) 38// - autoriser PHP (sinon, c'est comme si on avait un site statique)
39// -> pour pouvoir installer le site en n'ayant qu'à modifier les droits du dossier data uniquement et éviter les situations pénibles ou l'utilisateur est bloqué sans rien comprendre, on pourra créer ou utiliser des sauvegardes au format ZIP depuis une page spéciale accessible avec le compte admin 39// -> pour pouvoir installer le site en n'ayant qu'à modifier les droits du dossier data uniquement et éviter les situations pénibles ou l'utilisateur est bloqué sans rien comprendre, on pourra créer ou utiliser des sauvegardes au format ZIP depuis une page spéciale accessible avec le compte admin
40 40
41// au premier démarrage du site 41// sessions, penser aux attaques CSRF (cross-site request forgery):
42// l'explication des éventuels problèmes de droits en lecture/écriture est à chercher ici:
43require('controller/installation.php');
44installation();
45
46// à propos des sessions, penser aux attaques CSRF (cross-site request forgery):
47// ça consite à faire qu'un utilisateur connecté avec une session envoie malgré lui une requête GET ou POST qu'un hacker aura cachée par exemple dans une fausse image clicable 42// ça consite à faire qu'un utilisateur connecté avec une session envoie malgré lui une requête GET ou POST qu'un hacker aura cachée par exemple dans une fausse image clicable
48// - solution: faire qu'un GET seul dans une session ne suffise pas à effectuer une action (les GET ne doivent servir qu'à afficher la bonne page), une attaque sur un POST est possible aussi mais plus difficile et nécessite d'injecter du javascript 43// - solution: faire qu'un GET seul dans une session ne suffise pas à effectuer une action (les GET ne doivent servir qu'à afficher la bonne page), une attaque sur un POST est possible aussi mais plus difficile et nécessite d'injecter du javascript
49// - on peut demander à l'utilisateur une vérification supplémentaire avant chaque action, mais c'est plutôt chiant 44// - on peut demander à l'utilisateur une vérification supplémentaire avant chaque action, mais c'est plutôt chiant
@@ -52,6 +47,14 @@ installation();
52// infos: https://fr.wikipedia.org/wiki/Cross-site_request_forgery 47// infos: https://fr.wikipedia.org/wiki/Cross-site_request_forgery
53session_start(); 48session_start();
54 49
50// au premier démarrage du site
51// l'explication des éventuels problèmes de droits en lecture/écriture est à chercher ici:
52require('controller/installation.php');
53require('controller/password.php');
54installation();
55
56
57
55// traitement des POST du ckeditor 58// traitement des POST du ckeditor
56// la fonction submitCKeditor n'affiche rien (controller/admin.php n'est pas utilisé) puis redirige sans GET 59// la fonction submitCKeditor n'affiche rien (controller/admin.php n'est pas utilisé) puis redirige sans GET
57if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1 60if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1
@@ -116,21 +119,20 @@ else
116} 119}
117 120
118 121
119// mot de passe de connexion à hacher!
120// utiliser php pour ça, plus le .htaccess
121require('controller/password.php');
122$secret = "julian";
123
124 122
125// page du site demandée 123// page du site demandée
126if(isset($_GET['page'])) 124if(isset($_GET['page']))
127{ 125{
126 // page d'accueil
127 if($_GET['page'] == 'accueil')
128 {
129 accueil();
130 }
128 // page menu 131 // page menu
129 if($_GET['page'] == 'menu') 132 elseif($_GET['page'] == 'menu')
130 { 133 {
131 menu(); 134 menu();
132 } 135 }
133
134 // page melaine 136 // page melaine
135 elseif($_GET['page'] == 'melaine') 137 elseif($_GET['page'] == 'melaine')
136 { 138 {
@@ -200,10 +202,10 @@ if(isset($_GET['page']))
200 discoVisitor(); 202 discoVisitor();
201 } 203 }
202 } 204 }
203 // page connexion au mode admin 205 // page connexion
204 elseif($_GET['page'] == 'connexion') 206 elseif($_GET['page'] == 'connexion')
205 { 207 {
206 connexion($secret); 208 connect();
207 } 209 }
208 // $_GET['page'] = n'importe quoi! 210 // $_GET['page'] = n'importe quoi!
209 else 211 else
@@ -216,9 +218,10 @@ if(isset($_GET['page']))
216// actions en mode admin, recharger une des pages principales 218// actions en mode admin, recharger une des pages principales
217elseif($_SESSION['admin'] == 1 && isset($_GET['action'])) 219elseif($_SESSION['admin'] == 1 && isset($_GET['action']))
218{ 220{
219 if($_GET['action'] == 'nouveau_mdp') 221 if($_GET['action'] == 'modif_mdp')
220 { 222 {
221 changerMotDePasse($secret); 223 //changePassword($secret);
224 changePassword();
222 } 225 }
223 // extraction du contenu du dossier data 226 // extraction du contenu du dossier data
224 else if($_GET['action'] == 'extraction') 227 else if($_GET['action'] == 'extraction')
@@ -250,7 +253,6 @@ elseif(isset($_GET['erreur']))
250 //else 253 //else
251 //{ 254 //{
252 accueil(); 255 accueil();
253 // accueil_404(); // à créer
254 //} 256 //}
255} 257}
256 258