PHP - Récupérer login et mot de passe passés par un .htaccess

Si vous avez protégé un dossier de votre site en utilisant un fichier .htaccess et que vous souhaitez récupérer dans vos pages PHP le login et le mot de passe que l'utilisateur a saisis, il vous suffit d'utiliser ces variables :
$_SERVER['PHP_AUTH_USER'] // pour le login 
$_SERVER['PHP_AUTH_PW'] // pour le mot de passe


Cependant, elles ne fonctionnent qu'avec PHP 5.
Avec une version antérieure de PHP (4), seul le login est récupérable, par la variable :
$REMOTE_USER


/!\ IMPORTANT/!\

Je rajoute ces quelques lignes, sur le net, peu de personnes ont trouvé comment récupérer le login par un .htaccess sur les hébergement mutualisé sur OVH.

Rouzz sur www.z-f.fr donne la solution :

En réalité c'était OVH qui utilise PHP en script SGI et pas en module Apache, donc il zappe le header Authorization.
Solution :

mettre dans le .htaccess :
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

et ensuite echo $_SERVER['REMOTE_USER'];

Je pense que ça en aidera plus d'un qui à du mal :)
(Ceci peut être utile, par exemple, pour rediriger le visiteur sur une page différente selon son login)
Publié par Thom@s - Dernière mise à jour le 15 avril 2011 à 22:38 par alex59fr
Ce document intitulé « PHP - Récupérer login et mot de passe passés par un .htaccess » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook
Webmaster - Un formulaire de contact pour votre site
PHP - Lister le contenu d'un répertoire