Htaccess/htpasswd Internal Server Error [Résolu/Fermé]

Signaler
Messages postés
66
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
30 avril 2015
-
 Utilisateur anonyme -
Bonjour,


Je me permet de venir chercher votre aide dans mon périple qui aura ma peau.

Je veux protéger une partie de mon site web avec un système d'Apache htacces et htpasswd.

Voici une copie de mon .htaccess :

AuthUserFile "/htdocs/appli/.htpasswd" 
AuthName "Zone sous protection... Authentifiez vous"
AuthType Basic
<limit GET POST>
require valid-user
</limit>

Mon fichier .htpasswd a été encodé par htpasswd.exe, permettant un cryptage MD5 du mot de passe.

Les deux fichiers .htaccess et .htpasswd se trouvent dans le même répertoire.

Lors de la connexion à cette partie du site, il me demande l'authentification. Après avoir mis login et mot de passe, celui-ci me met :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Et je ne vois pas et ne comprend pas d'où vient ce problème..
Je n'ai rien dans mes logs par rapport à ceci..

Savez-vous d'où vient le soucis ? Serait-ce à cause que mon PC soit Windows et mon Serveur Debian qu'il existerait une incompatibilité liée à l'encodage des fichiers (notepad++) ? Je ne sais pas. J'ai retenté la manipulation plusieurs fois, sans réussite..

3 réponses


Bonjour

Si ton PC et sous windows, le chemin d'accès de AuthUserFile devrait commencer par une lettre de lecteur et utiliser des \ au lieu de /, genre C:\htdocs\appli\.htpasswd
Messages postés
66
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
30 avril 2015
7
Mon PC est sous Windows mais mon serveur est sous UNIX, donc c'est bien un chemin d'accès avec des /.
Mon serveur n'est pas en local sur mon Windows
Utilisateur anonyme
Pardon, j'avais lu trop vite. J'essaye de répondre quelque chose de moins bête cette fois.
Je ne crois pas à l'incompatibilité d'encodage car tu n'as aucun caractère accentué.
Le dossier /htdocs est-il bien à la racine du serveur (et pas seulement de ton site) ? Car ton message d'erreur est celui qu'on obtient s'il ne trouve pas le fichier mot de passe, je viens de faire l'essai. C'est vrai que c'est un message générique et qu'il y a 100 autres manières de l'obtenir.
Au passage, retire le <limit GET POST> qui introduit une faille et non pas une protection :
https://www.r00t.so/securite-informatique/faille-dans-la-creation-dun-htaccess-89
Messages postés
66
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
30 avril 2015
7
Oui oui il est bel et bien dans la racine du serveur ( Petite capture d'écran : http://img11.hostingpics.net/pics/528516Capture.jpg ) C'est bien pour cela que je ne comprend pas, étant donné que les deux fichiers sont dans le répertoire : /htdocs/appli

Pour la faille de sécurité, il vaudrait donc mieux : ?

AuthUserFile "/htdocs/appli/.htpasswd" 
AuthName "Zone sous protection... Authentifiez vous"
AuthType Basic

Enfin, si j'ai bien compris ^^

Ta capture d'écran ne montre absolument pas que /htdocs est à la racine de ton serveur, mais seulement à la racine de ton ftp. Tu ne vois pas toute l'arborescence, seulement celle qui constitue ton site. Or, Apache a besoin du chemin absolu (ou à la rigueur d'un chemin relatif à partir de l'exécutable d'Apache lui-même je crois, mais c'est sans intérêt en pratique).
Ton hébergeur doit bien te donner quelque part les indications nécessaires pour connaître le chemin réel. Sinon, tu le trouves toi-même avec $_SERVER['DOCUMENT_ROOT'] en php.

D'autre part, il FAUT laisser le
require valid-user
Messages postés
66
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
30 avril 2015
7
Désolé du retard, mais impossible de répondre à ce post.

J'ai récupéré le chemin grâce à la fonction realpath qui m'a donné :
/data/filer-6/web/web619/htdocs

Mon .htaccess est :

AuthUserFile "/data/filer-6/web/web619/htdocs/appli/.htpasswd"
AuthName "Zone sous protection... Authentifiez vous"
AuthType Basic
require valid-user

Et tout fonctionne !!

Merci de m'avoir aidé, vraiment ! Je clos ce post. Encore merci !
Utilisateur anonyme
De rien :)