2010-11-15 3 views
0

J'ai créé un fichier .htaccess et .htpasswd, et les ai stockés dans le dossier que je veux protéger et quand j'ai navigué vers ce dossier, on m'a demandé le nom d'utilisateur et passowrd (stocké dans le fichier .htpasswd) après avoir entré le nom d'utilisateur et le mot de passe, j'ai eu une erreur 500 interne du serveur. J'ai utilisé les fichiers sur localhost (windows) et sur un serveur web (linux je suppose) tous deux ont donné le même résultat mentionné.problème de protection d'un répertoire en utilisant .htaccess

c'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 
+0

pourrait nous donner le message d'erreur de votre Apache-journaux? – pex

+0

@pex: Où puis-je trouver le journal des erreurs ?? – sikas

Répondre

3

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 qu'à l'intérieur du partie du système de fichiers servie 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 s'agir d'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 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.

+0

OK, je suis en train de tester sur localhost (Windows 7), si le fichier AuthUserFile est C: /wamp/www/.htpasswd? – sikas

+0

cela a fonctionné avec moi après avoir placé l'AuthUserFile à C: /wamp/www/.htpasswd ... mais quand j'ai téléchargé le dossier après avoir changé le chemin, cela n'a pas fonctionné. Note: J'utilise le service gratuit x10hosting. – sikas

+1

@sikas: Votre hébergeur supporte PHP, non? Essayez de télécharger un fichier PHP qui contient uniquement PleaseStand

1

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

/home/content/14/5267714/html/.htpasswd 
Questions connexes