Jump to content

Recommended Posts

Posted (edited)

bonjour

J'ai securisé avec .htaccess un repertoire de mon site. Une boite de dialogue s'ouvre et demande le user et le mot de passe. Je voudrias savoir s'il est possible de les recuperer dans la page qui se charge ensuite.

Merci

Edited by elomaster
Posted

Salut,

Oui, dans les variables $PHP_AUTH_PW et $PHP_AUTH_USER ;)

Dan

Posted

Salut,

Vraisemblablement parce qu'il faut utiliser la variable $_SERVER, comme par exemple dans ce code-ci:

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
   header('WWW-Authenticate: Basic realm="My Realm"');
   header('HTTP/1.0 401 Unauthorized');
   echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
   exit;
} else {
   echo "<p>Bonjour, {$_SERVER['PHP_AUTH_USER']}.</p>";
   echo "<p>Votre mot de passe est {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>

Posted (edited)

Cela ne semble pas fonctionner.

question : je doit quand même utiliser un .htaccess et un .htpasswd.

Il me demande mon mot de passe mais il dit qu'il incorrect.

Edited by elomaster
Posted

Allons bon, le 1er hébergeur français en terme de nombre de clients refuserait que les webmasters utilisent un .htaccess ?

Ce n'est pas sérieux :)

-> Ton mot de passe est-il en clair dans le .htpasswd ou est-il crypté ?

-> Le chemin d'accès vers le .htpasswd depuis le .htaccess est-il correct ?

-> Ce même chemin d'accès est-il bien spécifié en navigation interne ?

-> Comment peux-tu vérifier que la variable PHP_AUTH_USER ne marche pas alorsque tu n'arrives même pas à accéder à la page protégée ?

aidez moi svp

Que crois-tu que Dan essaie de faire depuis tout à l'heure ? ;)
Posted

En fait moi ce que je veux recuperer c'est le user (le password je m'en ...). La page se charge (mais pas avec le script de Dan).

Sans le script de Dan j'ai essayé un truc du genre :

echo '$_SERVER['PHP_AUTH_USER']';

mais rien ne s'affiche sur la page (qui se charge)

Posted

Bonjour,

Le User ne peut être récupéré que s'il y a une autentification. Sans elle l'utilisateur est enonyme.

Essayer d'afficher '$_SERVER['PHP_AUTH_USER']'; alors que l'utilisatur n'est pas identifié ne sert à rien vu que cette variable sera vide.

Donc, soit tu utilises le script complet, soit tu n'auras pas d'identification. :)

Dan

Posted

en fait quand j'utilise le script, la fenetre de dialogue s'ouvre, mais quand j'entre mon mot de passe et mon user on me repond que l'un des deux est incorrect.

Posted

Est-ce que tu as créé le fichier .htpassword avec un mot de passe encrypté ?

Quel est ton hébergeur ?

OVH ? Dans ce cas il FAUT encrypter les mots de passe :!:

Assure-toi aussi que le chemin vers le fichier .htpasswd soit bon.

Et transfère le fichier en mode "TEXTE" comme précisé dans ce post: http://www.webmaster-hub.com/index.php?sho...ndpost&p=117048

Posted (edited)

En local le script fonctionne mais dés que je le balance sur le serveur (d'ovh) ca ne fonctionne plus. J'ai bien transferé le .htaccess et .htpasswd en ascii (faut il aussi envoyé la page php en ascii ??)

Edited by elomaster
Posted

Essaie de faire une page contenant

<?phpinfo() ?>

Tu aura ainsi toutes les infos accessibles au niveau de PHP.

Sinon, est-ce qu'on te demande ton nom et ton mot de passe lorsque tu essaie d'acceder a ta page ?

Lolo

Posted
Ouioui il est crypté. Le chemin est bon puis ce que sans le script l'authentification fonctionne ??

Sans .htaccess/.htpasswd il n'y a pas d'authentification sauf si ton script php contient du code d'authentification. :(

Es-tu certain de ne pas avoir du code en double (.htaccess + code php ?)

Et si cela fonctionne en local, garde à l'esprit que les chemins ne sont pas les mêmes en local et sur le serveur. Le même code ne peut pas fonctionner aux deux endroits sans modification :whistling:

Dan

Posted (edited)

En fait j'ai pas tout compris quand je met le script php je dois supprimer mon .htaccess ??

j'ai essayé mais ca marche pas.

autre question comment accéder au .htpasswd avec le code php ??

Edited by elomaster
Posted

On ne va jamais s'en sortir comme ça. :blush:

Je te suggère de lire l'article sur le fichier .htaccess

Tu comprendras peut-être mieux les principes de fonctionnement.

Dan

Posted (edited)

Salut

Bon effectivement j'ai pas tout compris !!

Si j'ai bien compris il y a 2 cas :

1 j'ai un .htaccess dans le repertoire a protéger et un .htpasswd (pas forcement dans le même repertoire) ->la protection est efficace mais j'arrive pas a recuperer le user.

2 J'ai pas de .htaccess mais un code php dans la page ??? et j'ai encore un.htpasswd

(ca doit pas être ca mais bon ...)

Je croit que j'ai vraiment besoin d'un eclairage (j'ai pas trouvé de reponse dans l'article sur les .htaccess)

Edited by elomaster
Posted (edited)

Bonjour, fin d'après'm.

Me semblait que les explications plus haut étaient claires ? non ? bon.

dans ton .htaccess, tu indiques ceci:

AuthUserFile le-path-du-htpasswd
AuthName "Accès protégé"
AuthType Basic
<Limit GET POST>
Require valid-user
</Limit>

ATTENTION: le path chez OVH n'est pas le même qu'en local, sous windows...

Dans ton .htpasswd, tu indiques le(s) user(s) et le(s) mot(s) de passe associé(s) mais CRYPTE(s) (l'outil du hub te permet de le faire. N'oublie pas la clé).

Place tes fichiers là où ils doivent être, et teste.

xpatval

Edited by xpatval
Posted (edited)

Bon, pour resume ...

Est-ce que la protection de ta page fonctionne ? Si tu rentre le bon utilisateur et le bon mot de passe, est-ce que tu vois ta page ?

* Si oui, t'as juste un pb au niveau de PHP et un simple

phpinfo()

t'affichera les variables connu de PHP dont le fameux user. Y'a rien de plus simple.

* Si non, c'est que c'est ton authentification HTTP qui foire et faut definitivement que tu regarde la doc du .htaccess et les infos fournis par ton hebergeur.

Edited by destroyedlolo
Posted

C'est normal que ça ne marche pas... :P :

Sous OVH mutualisé, PHP_AUTH_USER est toujours vide (je ne me rappelle plus pourquoi, mais c'est comme ça...)

Utilise $_SERVER['REMOTE_USER'].

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...