protéger un ou plusieurs fichiers par htaccess

Nous avons vu dans précédent article comment protéger un répertoire avec htaccess, c’est l’utilisation la plus courante de cette technique, mais ici nous allons nous intéresser a comment faire la même chose mais pour protéger uniquement un ou quelques fichiers d’un répertoire, c’est à dire, dans le même répertoire, certains fichiers seront protégés mais pas d’autres.

pour protéger un seul fichier voici ce qu’il faut mettre dans le .htaccess :

<files fichier.ext>
require valid-user
</files>

pour en protéger plusieurs :

<files fichier1.ext fichier2.ext fichier3.ext>
require valid-user
</files>

cette syntaxe est a utiliser en complément de celle expliquée dans l’autre article bien sûr.

bonne protection de fichiers…

Share

Protéger un répertoire par htaccess

Le but de cet article est montrer comment protéger un répertoire par un htaccess.

pour cela il faut d’abord créer un fichier .htaccess à la racine du répertoire, ce fichier doit contenir les lignes suivantes (a adapter selon la configuration/ besoins) :

AuthName "Page protégée"
AuthType Basic
AuthUserFile "/CHEMIN/VERS/LE/FICHIER/.htpasswd"
Require valid-user

en suite il faut créer un fichier .htpasswd qui lui contiendra les couples login/mot de passe qui auront accès au répertoire protégé.
pour cela exécutez la commande suivante :

htpasswd -c /CHEMIN/VERS/LE/FICHIER/.htpasswd LOGIN

-c pour créer un nouveau fichier .htpasswd (a ne pas utiliser si vous ajouter un utilisateur à un fichier existant).
il vous sera ensuite demandé d’entrer le mot de passe 2 fois, faites le, et le tour est joué.

pour plus de renseignement sur la commande htpasswd, voici l’écran d’aide de ladite commande :

$ htpasswd
Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password
        htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password
 
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password.
 -d  Force CRYPT encryption of the password (default).
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

notez aussi que pour que cette protection fonctionne, il est obligatoire de ne pas avoir la directive apache AllowOverride a none, sinon le fichier .htaccess ne sera pas pris en compte, donc n’oubliez pas de la commenter ou l’enlever tout simplement si vous l’avez dans votre vhost

Share