.htaccess, Hébergement, protection, répertoire – Protéger un répertoire avec .htaccess



Protéger un répertoire par .htaccess est un sujet assez bateau sur lequel vous trouverez de nombreuses explications sur le web en effet le problème se pose de manière assez fréquente lorsque l’on veut faire un espace protégé sur son site : un espace pro, une page de téléchargement… Un endroit exclusif où le commun des internautes ne peut se rendre à moins de connaitre le précieux sésame !

C’est la méthode la plus facile et la plus efficace pour restreindre l’accès à des destinations sur votre site web.

Les étapes indispensables pour la création du .htpasswd sous Mac via la console

La commande à passer dans la console si vous souhaitez créer un fichier .htpasswd pour un utilisateur du nom de admin

htpasswd -c .htpasswd admin

.htaccess, Hébergement, protection, répertoire - Protéger un répertoire avec .htaccess

Il faut retaper le mot de passe une deuxième fois comme sous linux le mot de passe n’apparait même sous une forme cryptée de type *****
.htaccess, Hébergement, protection, répertoire - Protéger un répertoire avec .htaccess

Une fois tapé pour la deuxième fois, le fichier .htpasswd est automatiquement créé.
.htaccess, Hébergement, protection, répertoire - Protéger un répertoire avec .htaccess

Pour afficher dans le terminal les fichiers du type .htpasswd et.htaccess, il faut taper la commande suivante.

ls -la

.htaccess, Hébergement, protection, répertoire - Protéger un répertoire avec .htaccess

Le code du .htpasswd, le mot de passe est bien évidemment crypté.

	admin:efaJxgn4kw.j2

Source : http://www.securiteinfo.com/conseils/htaccess.shtml

Si vous souhaitez renforcer la sécurité de hachage de vos mots de passe, vous pouvez passer quelques arguments lors de la ligne de commande. Ainsi, si vous souhaitez utiliser la fonction de hachage MD5 il vous suffit de passer la ligne de commande suivante.

htpasswd -cm .htpasswd admin

La fonction htpasswd accepte plusieurs types de cryptage des mots de passe :

* -m utilise la fonction de hachage MD5 (128 bits). Attention, Apache utilise une version spécifique de l’algorithme, ce qui signifie qu’il n’est pas interopérable avec les autres serveurs web.
* -d utilise la fonction système crypt(). Pour rappel, cette fonction est basée sur le DES, et est également utilisée pour le cryptage des most de passe système (fichier passwd ou shadow).
* -s utilise la fonction de hachage SHA-1 (160 bits).
* -p laisse les mots de passe en clair.

La marché à suivre

Une fois, le fichier .htpasswd créé, il faut placer via un logiciel FTP, dans la répertoire que vous souhaitez protéger le fichier .htaccess en indiquant dans ce fichier le chemin vers le fichier .htpasswd qui contient vos mots de passe cryptés. Il est préférable de ne pas mettre le fichier .htpasswd dans le même répertoire.

Le code du .htaccess

	AuthName "Accès restreint"
	AuthUserFile [chemin-vers-le-fichier-des-mots-de-passe-htpasswd].htpasswd
	AuthGroupFile /dev/null
	AuthType Basic
	<limit GET>
	require valid-user
	</Limit>

Les erreurs les plus fréquentes

Des erreurs peuvent se produire, notamment celle qui fera apparaitre une erreur de type 500, Erreur de configuration (Internal server error). On va se concentrer sur cette erreur qui se produit très fréquemment sur des serveurs mutualisés.
La resultion de cette erreur passe tres souvent par l’ouverture et la modification du fichier httpd.conf dans /etc/httpd/conf/httpd.conf.

If you host your own server, open your Apache config file using your favorite editor (in RedHat® Linux 7.1, the file can be found in /etc/httpd/conf/httpd.conf).

Il faut s’assurer que à la ligne de l’option AllowOverride du fichier httpd.conf soit réglé sur la valeur All.

En savoir plus