La prochaine chose à faire est d'ouvrir votre éditeur de texte préféré afin d'y créer un fichier nommé .htaccess. Si vous êtes dans un environnement Windows, il est possible que vous ne puissiez pas le créer, pas d'inquiétude, vous le renommerez lors de la mise en ligne.

Nous allons ajouter les lignes suivantes au fichier :

AuthUserFile "/home/fred/monsite/.htpasswd"
AuthType Basic
AuthName "Accès restreint"

Nous définissons que l'accès à au répertoire dans lequel se trouvera votre .htaccess sera restreint, et basé sur les utilisateurs trouvés dans le fichier .htpasswd spécifié. Il est important de noter que l'adresse du fichier .htpasswd est une adresse relative sur le serveur. Sur certains hébergements il est possible que vous n'en ayez pas connaissance. Attention toutefois que le fichier est encore incomplet, nous le complèterons à la fin de l'article.

Trouver le chemin absolu

Créez un fichier phpinfo.php, dans lequel vous allez mettre :

<?php
phpinfo();
?>

Ensuite, placez ce fichier dans le répertoire qui contiendra votre .htpasswd. Accédez à votre fichier phpinfo.php et vous devriez trouver la propriété DOCUMENT_ROOT. Cette propriété contient le chemin absolu de votre fichier .htpasswd.

Créer un fichier .htpasswd

Sous Linux, rien de plus simple, utilisez la commande suivante pour créer le fichier, et un utilisateur :

$ htpasswd -c .htpasswd fred
New password: 
Re-type new password: 
Adding password for user fred

Pour rajouter un utilisateur dans le fichier, faites ceci :

$ htpasswd .htpasswd bob
New password: 
Re-type new password: 
Adding password for user bob

Sous Windows, c'est un peu plus aléatoire, en fonction de la configuration du serveur, il est possible que les mots de passes ne doivent pas être cryptés, ou doivent l'être dans un autre cryptage.

Bref, créez un fichier .htpasswd comme vous l'avez fait pour le .htaccess et ajouter simplement une ligne par utilisateur et mot de passe comme ceci :

fred:gK5hT4chNF/72

Le mot de passe est ici crypté, certains serveurs autorisent les mots de passe en clair, mais la sécurité est limitée. Pour crypter un mot de passe sous Windows, je vous conseille de visiter Google et de tester différentes méthodes de chiffrement pour fichiers .htpasswd pour trouver celui qui vous convient.

Limiter l'accès avec l'.htaccess

Nous allons maintenant terminer notre fichier en ajoutant :

<Limit GET POST>
Require valid-user
</Limit>

De cette manière seul un utilisateur présent dans le fichier .htpasswd avec un mot de passe correct pourra accéder au répertoire.

On aurait pu utiliser :

<Limit GET POST>
Require user fred damien paul
</Limit>

Qui ne donne l'accès qu'aux utilisateur fred, damien et paul.

A visiter

Article récupéré après crash serveur. URL originale