Bonjour !
Lorsque vous réalisez votre site web, vous êtes souvent amenés à créer une partie où l'accès est limité ...
Avec les fichiers
.htaccess, on peut très facilement créer une protection par Login / Mot de passe qui empêche l'accès à tous les fichiers du dossier.
Pour celà il va falloir créer 2 fichiers,
.htaccess et
.htpasswd
Le .htaccess :Sous Windows il est impossible de créer un fichier .htaccess, c'est pour celà qu'il va falloir le nommer
".htaccess
" --> avec les guillemets
Ouvrez votre fichier ".htaccess" et mettez y ce code !
AuthName "Page d'administration protégée !"
AuthType Basic
AuthUserFile "/home/VotreLogin/public_html/admin/.htpasswd"
Require valid-user
Parmi ces 4 lignes, il y en a 2 que vous allez devoir changer :
1/
AuthName : c'est le texte qui invitera l'utilisateur à inscrire son login / mot de passe. Vous pouvez personnaliser ce texte comme bon vous semble.
2/
AuthUserFile : là c'est plus délicat, c'est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le même répertoire que le .htaccess).
Modifiez donc "VotreLogin" par votre vrai login webou.net, puis "admin" par le nom du dossier que vous voulez protéger
Si vous n'êtes pas hébérgé chez webou.net, il vous suffit de mettre ce code dans un fichier "info.php" :
<?php echo realpath('info.php'); ?>
Puis ouvrez le avec votre naviguateur après l'avoir transféré vers votre site !
Voilà, on a fini de créer le .htaccess, on peut maintenant passer au .htpasswd
Le .htpasswd :Le .htpasswd contient la liste des personnes autorisées à accéder aux pages du dossier.
On met une personne par ligne, sous cette forme :
login:mot_de_passe_crypté
Pour une meilleur protection il vaut mieux crypter son mot de passe, et pour le faire, il va falloir utiliser la fonction PHP crypt() comme ceci :
<?php
echo crypt('MotDePasse');
?>
Mais comme je suis gentil je vais vous donner mon script de cryptage :
http://www.fachtali.webou.net/crypt.phpEcrivez votre login et mot de passe et cliquez sur envoyer
Au final, votre fichier .htpasswd devrait ressembler à ceci :
tito:$1$MEqT//cb$hAVid.qmmSGFW/wDlIfQ81
toto:$1$/lgP8dYa$sQNXcCP47KhP1sneRIZoO0
tata:$1$lT7nqnsg$cVtoPfe0IgrjES7Ushmoy.
tonton:$1$h4oVHp3O$X7Ejpn.uuOhJRkT3qnw3i0
Dans cet exemple, il y a 4 personnes autorisées à accéder au dossier : ce sont tito, toto, tata, et tonton

S'il n'y a qu'une personne autorisée à accéder au dossier, vous n'avez qu'à mettre qu'une ligne. Mais si vous êtes plusieurs admins, il est très pratique de pouvoir créer plusieurs "comptes" avec login / mot de passe
Remarque :Si vous êtes hébergés chez Free, vous ne DEVEZ PAS crypter vos mots de passe. En effet, Free demande à ce que les mots de passe ne soient pas cryptés.
Vous devrez donc taper le mot de passe directement. Par exemple :
Moi:motdepasse
Vous n'avez plus qu'à envoyer vos 2 fichiers par ftp dans le dossier que vous voulez protéger, et le tour est joué
(N'oubliez pas d'enlever les guillemets lorsque le transfert sera fait ...)
En guise de prolongement :Cette partie s'adresse aux initiés, qui ont des bases dans le PHP !
Pour récupérer le Login ou le mot de passe de la personne logué, il faut utiliser ces deux variables :
Login : $_SERVER["PHP_AUTH_USER"]
Mot de passe : $_SERVER["PHP_AUTH_PW"]
Exemple :
<?php
echo 'Bonjour '. $_SERVER["PHP_AUTH_USER"];
?>
Voilà ce tuto touche à sa fin
J'éspère qu'il a été clair pour vous, si ce n'est pas le cas vous pouvez demander des explications en répondant à ce topic
A bientôt.