Authentification par mot de passe
JavaScript vous permet également ce genre d'identification, mais il vaut mieux passer par .htaccess : il est périlleux de confier la sécurité au navigateur de l'internaute, qui en fait ce qu'il veut. Vous n'avez pas ce genre de problème côté serveur.
Gardez cependant à l'esprit que la protection par mot de passe au niveau du serveur va faire passer le mot de passe en clair (non crypté). Si vous protégez par mot de passe un répertoire, il est possible de passer outre votre protection si l'on a connaissance de sous-répertoires non protégés.
Procédons par étapes.
1) On commence par créer un fichier .passwds qui contiendra les renseignements sur les personnes autorisées. Pour ce faire, on tape :
htpasswd -c .passwds toto
Ce qui crée à la fois .htpasswd et l'utilisateur toto, pour lequel on vous demande un mot de passe.
clipper ~ $ htpasswd -c .passwds
toto
New password:
Re-type new password:
Adding password for user toto
Pour ajouter d'autres utilisateurs : htpasswd .htpasswd titi. Pour en retirer, il suffit d'éditer le fichier et d'effacer la ligne correspondant à l'utilisateur concerné. htpasswd chiffre les mots de passe (en utilisant une variante de md5), qui ne figurent donc pas en clair dans les fichiers.
Pour en savoir plus, consultez la page de man de htpasswd.
2) On en revient à .htaccess et on tape :
AuthType Basic
AuthUserFile /users/03/pataphys/vian/www/repertoire/.passwds
# endroit où vous conservez les mots de passe
AuthName "Entrez votre mot de passe" # ici vous indiquez ce qui figurera dans la barre de titre
# de la fenêtre
require valid-user
Si vous voulez protéger par mot de passe seulement certaines parties du site, il faut créer un .htaccess dans le répertoire concerné.
Vous ne voulez peut-être pas que l'on sache où vous rangez vos mots de passe. Il faut dans ce cas empêcher l'accès au fichier .htaccess lui-même. Pour protéger le fichier, taper :
<Files .htaccess>
order allow,deny
deny from all
</Files>