Problème, remarque...
L'accès aux documents est possible en tapant directement leur URL,
par exemple : http://127.0.0.1/eFormation/eFormationV1/Doc/budget.xls
Un fichier ".htaccess" dans un répertoire indique au serveur WEB que son accès sera contrôlé : l'utilisateur devra saisir son identifiant et son mot de passe.
Un autre fichier contiendra la liste des identifiants et des mots de passe (son nom n'est pas imposé !).
AuthUserFile "C:\Program Files\EasyPHP1-8-ModGSI\www\eFormation\eFormationV2\.htpswr3" AuthName "Accès sécurisé à la formation n°3" AuthType Basic <LIMIT GET POST> Require valid-user </LIMIT>
La création d'un tel fichier ne peut se faire que via un éditeur, Windows interdisant le renommage avec uniquement une extension.
abcd:abcd efgh:efgh
Syntaxe identifiant:motDePasse peut être crypté, mais pas obligatoire (cf. ci-dessous)!
abcd:$apr1$LU4.....$SEwKt0QdrOFZBm5bmxnVo/ efgh:$apr1$LU4.....$kgZvXtobcFYMx2/bpIxpY1
Pré-requis : écrire dans un fichier texte
function fichierEcrire($unNomFic, $unContenu) { //cf. manuel PHP if (!$id = fopen($unNomFic, 'w')) { return "Impossible d'ouvrir le fichier ($unNomFic)"; } if (fwrite($id, $unContenu) === FALSE) { return "Impossible d'écrire dans le fichier ($unNomFic)"; } fclose($id); return "L'écriture de ($unContenu) dans le fichier ($unNomFic) a réussi"; }
Logique du programme :
Solution cf. 'genererAcces.php'
Programme en mode console qui génère et crypte un fichier de mots de passe.
Syntaxe : htpasswd.exe -b <nomDuFichier> <utilisateur> <motDePasse>
Localisation : C:\Program Files\EasyPHP1-8-ModGSI\apache\bin
Pour ceux qui ont encore du courage, une 3ème version (et dernière ?)...
Constat sur la version 2 :
_ l'utilisation des fichiers .htaccess nécessite maintenant une double identification !
_ le mélange du code PHP+HTML+CSS est fortement déconseillé !!!
Solution cf. la version 3