Sauf indication contraire, vos pages sont accessibles depuis internet et tout le monde peu les voir. Si vous réalisez un album de famille avec quelques photos personnelles, mieux vaut les protéger avant de les mettres sur votre site internet. Google aura vite fait de les indexer et de les rendre accessible sur son moteur (http://www.google.fr/advanced_image_search?hl=fr).
Une façon simple de sécuriser un dossier est d’utiliser un fichier .htaccess
Authentification par mot de passe
La première chose à faire sera de constituer une base de données, qui est en fait un simple fichier texte, et qui va contenir les identifiants et mots de passe pour chaque utilisateur.
Vous pouvez créer ces identifiants et mots de passe à l’aide de notre générateur : http://www.magazine-jeux.com/outils-generateur-password.php
Vous indiquez simplement l’identifiant (Userid) et son mot de passe et vous cliquez sur « submit ». Le générateur vous renvoie une ligne avec votre identifiant, 2 points « : » et le mot de passe codé.
Par exemple, en choisissant « test » et le mot de passe « salut », vous aurez la ligne suivante : test:36gmBrB8PPTqM
Vous créez donc un fichier que vous nommez « .htpasswd » dans lequel vous placez la ligne que vous venez de générer. Petite astuce sous Windows qui a un peu de mal avec des noms de fichier vide : donnez un nom quelconque et renommez le après l’avoir rempli.
Votre fichier contient donc :
test:36gmBrB8PPTqM
Vous pouvez rajouter autant de lignes que vous le souhaitez.
Si vous souhaitez ajouter par programmation les lignes dans ce fichier, vous pouvez utiliser la fonction « crypt » du php pour créer le mot de passe :
$Password='salut';
$Ligne="test:".crypt(trim($Password), CRYPT_STD_DES);
$Fichier=fopen(".htpasswd","a+");
fputs($Fichier,$Ligne);
fclose($Fichier);
?>
Il ne reste donc plus qu’à créer le fichier .htaccess qui indiquera les droits et l’emplacement du fichier .htpasswd sur le serveur.
AuthName message
AuthUserFile /chemin_complet/www/monsite/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
Donc, juste après AuthName vous trouverez le message que vous souhaitez afficher dans la boîte de dialogue qui s’affichera pour demander l’identifiant et le mot de passe.
AuthUserFile indique l’emplacement du fichier .htpasswd (que vous pouvez nommer autrement).
AuthGroupFile vous permet de définir l’emplacement du fichier groupe. En effet, il vous est possible de définir des groupes, ce qui peu s’avérer très pratique lorsque vous êtes plusieurs à travailler sur un projet.
Exemple de fichier de groupe :
administrateur: prelude marcel
utilisateurs: paul jean laurent
Dans ce cas, vous indiquerez dans la ligne require un nom de groupe :
Vous pouvez également spécifier une protection pour certains fichiers uniquement. Pour cela, placez votre code dans la directive Files en indiquant les fichiers concernés :
AuthUserFile / ...
...
Une petite précision importante avant de finir : le fichier .htpasswd pourrait être lu par n’importe qui puis, décrypté assez rapidement à l’aide d’un programme tel que « John the Ripper ».
La méthode la plus simple consiste à placer le fichier .htpasswd dans un nouveau dossier lui-même protégé par un nouveau fichier .htaccess placé dans ce même dossier et contenant les lignes suivantes :
AuthGroupFile /dev/null
AuthName "Acces restreint"
AuthType Basic
deny from all
Nous verrons d’autres utilisations du fichier .htaccess dans de prochains articles.
Commentaires récents