Il est obligatoire de crypter les mots de passe du fichier .htpasswd.
Lors de la visite du répertoire protégé, le mot de passe original est demandé.
Encryptage des mots de passe
Avez-vous encrypter vos mots de passe aujourd'hui? ;-)
Encrypt your password for your .htpasswd file
Les mots de passe doivent se trouver dans le fichier .htpasswd.
2003/04/24: J'ai remarqué que presque tous mes mots de passe cryptés avait une longueur de 13 caractères. Je ne sais pas cependant si c'est une règle absolue. Donc avis à tous les webmasters! De plus, seul les 8 premiers caractères des mots de passe sont validés. Le mot de passe 123456789 est identique à {123456780, 12345678aaaa, 12345678}.
Astuce Windows
On peut nommer un fichier ".htpasswd" ou ".htaccess" sur Windows (98/XP/...), en utilisant la fonction "Enregistrer sous" du Bloc-notes. Il suffit de nommer le fichier ".htpasswd" ou ".htaccess" avec les doubles guillemets. Des tests ont montré que l'Explorateur Windows (le poste de travail) ne permet pas de nommer de tels fichiers ou répertoires avec un "." en début de nom.
Pseudo-fonctionnement interne
Lorsque l'on veut accéder à un répertoire protégé par une protection apache, voici ce que fait le serveur grossièrement.
Apache lit la ligne "AuthUserFile" et recherche le fichier correspondant. Le chemin du fichier doit être absolu au serveur.
Il lit ensuite la ligne "AuthName" et s'en sert pour afficher l'invite de la boîte de dialogue.
Il envoie un message au navigateur pour qu'il affiche une boîte de dialogue d'autorisation.
Lorsque l'usager a écrit et validé son identifiant et son mot de passe,
Apache vérifie le type de limite (<Limit GET> ... </Limit>).
Si on demande un usager valide "valid-user", il vérifie l'identifiant et le mot de passe correspondant dans le fichier .htpasswd.
Si on demande un usager spécifique, il vérifie l'usager dans le fichier .htaccess, ensuite il vérifie dans le fichier .htpasswd l'identifiant et le mot de passe.
Si l'identifiant et le mot de passe sont corrects, Apache autorise l'usager de voir le contenu du répertoire (ou de charger la page d'accueil).
.htaccess... supplément
À propos du fichier de la protection Apache
Mon script génère le chemin du fichier .htpasswd et le met entre double-guillemets.
Cette précaution est dû aux erreurs provoquées avec les noms de répertoire avec des espaces.
Si le chemin d'accès du fichier .htpasswd ne contient aucune espace, les double-guillemets ne sont pas
nécessaires. On peut aussi se passer de double-guillemets en remplacant les espaces par des %20.
Voici des exemples de premières lignes qui fonctionnent:
D'après Bertrand Clavelier [2003/05/20], il semble que les fichiers .htaccess et .htpasswd doivent être enregistrés en format ANSI (iso-8859-1 ?) et pas en UNICODE.
Ne pas enregistrer les deux fichiers en format .RTF (rich text format) ou .DOC (Microsoft Word).
Si après des heures et des heures d'essai ;-), ca ne veux pas fonctionner, envoyez-moi un courriel à l'adresse yansanmo[at]iquebec[dot]com (remplacer [at] par un arobas '@' et [dot] par un point '.').
Dans ce courriel, vous devez m'envoyer ces informations:
Le fichier .htaccess
Le fichier .htpasswd avec des mots de passe cryptés.
Vos (votre) mot(s) de passe du fichier .htpasswd
L'URL (adresse) du répertoire où se retrouve le fichier .htpasswd sur votre compte Multimania.
Aucun courriel avec des informations manquantes ne sera répondu.