Protection Apache

Selon l'atelier de Multimania : Protection par mot de passe

Francais English Champs/Fields Commentaires/Comments
Nom du Membre Member Name Il s'agit de ce qu'il y a après le http://membres.lycos.fr/
Répertoire du .htpasswd .htpasswd Folder sans slash '/' au début et à la fin
without slash caracter '/' before and after...
Hébergeur Host
Invite Prompt Sans doubles-guillemets '"'
Without double-quotes caracter '"'
Tous les usagers du fichier .htpasswd? All users who are in the .htpasswd?
Nom de l'usager #1 UserName #1 Password:
Nom de l'usager #2 UserName #2 Password:

Fichier / File:




répertoire protégé, example Droits pour le fichier .htaccess (644)

Important!!!

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.

Nom de l'usagerUserName
Mot de passePassword

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.

Enregistrer sous un fichier avec le nom .htaccess

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.

  1. Apache lit la ligne "AuthUserFile" et recherche le fichier correspondant. Le chemin du fichier doit être absolu au serveur.
  2. Il lit ensuite la ligne "AuthName" et s'en sert pour afficher l'invite de la boîte de dialogue.
  3. Il envoie un message au navigateur pour qu'il affiche une boîte de dialogue d'autorisation.
  4. Lorsque l'usager a écrit et validé son identifiant et son mot de passe, Apache vérifie le type de limite (<Limit GET> ... </Limit>).
    1. Si on demande un usager valide "valid-user", il vérifie l'identifiant et le mot de passe correspondant dans le fichier .htpasswd.
    2. 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.
  5. 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:

AuthUserFile /data/members/free/multimania/fr/o/l/i/oliviari/htdocs/secret/.htpasswd
AuthUserFile "/data/members/free/multimania/fr/o/l/i/oliviari/htdocs/secret/.htpasswd"
AuthUserFile /data/members/free/multimania/fr/o/l/i/oliviari/htdocs/dossier%20secret/.htpasswd
AuthUserFile "/data/members/free/multimania/fr/o/l/i/oliviari/htdocs/dossier secret/.htpasswd"

Ca ne fonctionne toujours pas?

Informations supplémentaires

  • 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:

  1. Le fichier .htaccess
  2. Le fichier .htpasswd avec des mots de passe cryptés.
  3. Vos (votre) mot(s) de passe du fichier .htpasswd
  4. 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.

Hyperliens...