Question

J'ai créé un fichier .htaccess et .htpasswd, et les a stockés dans le dossier que je veux protéger et quand je naviguais dans ce dossier, on m'a demandé le nom d'utilisateur et passowrd (stockées dans le fichier .htpasswd), après son entrée le nom d'utilisateur et mot de passe, je suis arrivé une erreur 500 interne du serveur. Je l'ai utilisé les fichiers sur les deux localhost (Windows) et sur un serveur web (Linux, je suppose), tous deux ont donné le même résultat mentionné.

Ceci est mon fichier .htaccess:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow
Était-ce utile?

La solution

Je doute que votre fichier .htpasswd est vraiment situé à la racine même du système de fichiers du serveur avec /bin, /usr, /home, et d'autres (plutôt que dans la partie du système de fichiers servi aux navigateurs Web).

Selon la documentation Apache ( 1 , 2 ), AuthUserFile attend un chemin de fichier (comme si vous étiez ServerRoot, généralement /usr/apache ou similaire, et en essayant de localiser le fichier à partir du shell Unix). Il ne peut pas être une URL, absolue ou relative. Corrigez votre chemin de fichier .htpasswd en conséquence.

Notez que si possible, vous ne devriez pas mettre le fichier .htpasswd dans un dossier de public_html ou htdocs, car toute erreur de configuration pourrait non seulement permettre un accès non autorisé aux fichiers que vous souhaitez protéger, mais aussi les noms d'utilisateur autorisés et mots de passe hachés.

Autres conseils

Utilisez un chemin d'hébergement absolu, par exemple:

/home/content/14/5267714/html/.htpasswd
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top