je souhaite protéger un site Spip avec la combinaison .htaccess et
.htpasswd (ce dernier étant généré par Spip).
J'ai tout bien mis en place mais j'ai un souci : lorsque sur ma boîte
de login, je mets le password non crypté, Apache le refuse. Lorsque je
mets le mot de passe crypté (la suite exacte de caractères qui se
trouve dans .htpasswd), ça marche. Autrement dit, je devrais faire en
sorte d'avoir mon mot de passe non crypté dans .htpasswd. J'en déduis
qu'Apache ne crypte pas le mot de passe qu'il reçoit pour le comparer
avec le mot de passe de référence.
Je précise que j'ai fait des essais avec Easyphp sur Windows Me et
Apache 1.3.x sur Win 2k, avec le même résultat. J'aimerais bénéficier
de vos lumières à deux niveaux :
1. ou bien quelqu'un m'indique ce qui ne va pas et je le change
2. ou bien quelqu'un m'indique un moyen de faire en sorte que Spip
inscrive le mot de passe non crypté dans .htpasswd (ce qui, je pense,
ne devrait pas poser de problème de sécurité puisque /data/ est protégé
par un deny all - à confirmer ou infirmer, svp)
Je précise que j'ai fait des essais avec Easyphp sur Windows Me et
Apache 1.3.x sur Win 2k, avec le même résultat.
Les problèmes avec le htpasswd sont normalement dus à Apache sous
Windows (le chiffrement n'est pas reconnu, quelque chose comme ça).
Fais un test chez ton hébergeur et cela devrait marcher.
J'ai eu le même genre de probleme, idem avec Apache sous Windows :
Il ne voulait rien savoir, j'ai fini par découvir que c'était du au fait que
le chemin du fichier .htpasswd était en relatif
Voici une configuration qui fontionne bien sous apache 1.3x sous Windows,
je la donne parce que c'est le genre de chose que j'aurais bien aimé trouver
sur le net.(avec les mots de passe)
Fichier .htaccess à la racine du site : #DEBUT
AuthUserFile D:/wwwroot/apache_auth/auth-data/.htpasswd
AuthName "Entrez vos identifiants de connexion"
AuthType Basic
Require valid-user #FIN
Fichier .htpasswd dans auth-data/ (nb à proteger avec un htaccess ou alors a
mettre dans un repertoire externe à l'arbo d'Apache) #DEBUT
user_1:$apr1$Tc1.....$ZOpTPYeQqWxQ9aIwzPeA1. #pass : pass_1
user_2:$apr1$Ud1.....$Qc0iUfwADl.plASPPDoaq0 #pass : pass_2 #FIN
A notter que
- le .htpasswd a été créé avec la commande
C:\Serveurs\apache\bin>htpasswd -c
D:\wwwroot\apache_auth\auth-data\.htpasswd user_1
- la variable $_SERVER['PHP_AUTH_USER']; permet de récuperer ensuite le
login entré pour l'utiliser dans un script PHP
- je n'ai pas testé avec spip
Sinon, à mon tour pour les petites questions :
- Comment peut-on forcer la déconnexion, avec un lien "se deconnecter"
par exemple? Je sais le faire en Auth 100% PHP en envoyant au navigateur un
HTTP / 401 mais ça ne fonctionne pas avec l'auth. .htaccess.
- Une possibilité d'interfaçage d'une authentification htaccess avec un
annuaire LDAP est elle-possible/prévue?
Merci
"Antoine" <antoine@rezo.net> a écrit dans le message de news:
1063713517.2814.1.camel@fsol...
Salut,
> Je précise que j'ai fait des essais avec Easyphp sur Windows Me et
> Apache 1.3.x sur Win 2k, avec le même résultat.
Les problèmes avec le htpasswd sont normalement dus à Apache sous
Windows (le chiffrement n'est pas reconnu, quelque chose comme ça).
Fais un test chez ton hébergeur et cela devrait marcher.