2009-10-12 13 views
0

J'essaie de protéger un dossier avec l'authentification Digest via un fichier .htaccess:authentification Digest refuse d'accepter les informations d'identification valides

AuthType Digest 
AuthName "Restricted Area" 
AuthUserFile /web/htdocs/www.domain.com/.../.htdigest 

Require valid-user 

J'ai créé le fichier de mots de passe avec le COMAND « htdigest ». Tout fonctionne correctement sur mon serveur local ... mais pas sur mon serveur distant (site web hébergé)! Le navigateur affiche le panneau de connexion même si j'entre un mot de passe correct!

Sur le serveur distant PHP est en cours d'exécution en tant que CGI pas comme un module d'Apache ... devrait être la cause? Y at-il une solution de contournement?

Une authentification de base avec .htaccess fonctionne correctement sur le même serveur distant!

Répondre

0

Le code ci-dessus manque la directive AuthDigestDomain, à ce sujet the documentation dit:

Cette directive devrait toujours être spécifiée et contiennent au moins l'URI racine (jeu de) (s) pour cet espace. Si vous omettez de le faire, le client enverra l'en-tête Autorisation pour chaque demande envoyée à ce serveur . En plus d'augmenter la taille de la requête, il peut également avoir un effet négatif sur les performances si AuthDigestNcCheck est activé.

Cependant, j'ai vraiment résolu le problème en permettant au module Apache mod_auth_digest à la place du module mod_digest.

0

Si le script s'exécute en tant que CGI, cela signifie qu'il fonctionne en tant qu'utilisateur local, et non en tant que www, ce qui est probablement le problème, oui. CGI est-il la seule option?

+0

Merci pour votre réponse! Oui, CGI c'est la seule option, je ne peux pas modifier la configuration du serveur pour charger php en tant que module Apache! – BitDrink

+0

Attendez, voulez-vous dire tous les php? Comment allez-vous même exécuter le script? – Anthony

+0

Je pense que j'ai confondu vos idées! Ce que j'essaie de faire est de protéger avec Digest Authentication une simple page HTML dans un répertoire. J'ai produit un fichier .htaccess (avec le code ci-dessus) et un fichier .htdigest sur le même dossier de la page HTML! Mais quand j'essaie de me connecter avec des informations d'identification correctes, le navigateur me demande d'entrer à nouveau mes informations d'identification! Tout fonctionne très bien sur mon serveur local (où PHP est installé en tant que module d'Apache) mais pas sur mon serveur distant (où PHP fonctionne en CGI) .. donc je pensais que la cause devrait être la configuration du serveur ... mais le service d'hébergement ne me laisse pas modifier le réglage! – BitDrink

Questions connexes