Problème autentification HTTP

Signaler
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016
-
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016
-
Bonjour à tous,

J'ai deja posé ma question dans ce forum: http://www.phpcs.com/infomsg_PROBLEME-AUTHENTICATION_1175676.aspx   mais je n'ai eu aucune réponse

J'ai pu réalisé un p'tit script suivant:

// fixer les valeurs du login et mot de passe ayant droit d'accès
$table_acces array ("login"> "motdepasse");

$valide_users = array_keys($table_acces);

// récupération du login et mot de passe saisis par l'utilisateur

$user = $_SERVER['PHP_AUTH_USER'];

$pass = $_SERVER['PHP_AUTH_PW'];

//comparaison du login et mot de passe saisis par l'utilisateur et ceux du tableau en haut !
$validated (in_array($user, $valide_users)) && ($pass $table_acces[$user]);

if (!$validated) {

// si les informations sont invalides
header('WWW-Authenticate: Basic realm="My Realm"');

header('HTTP/1.0 401 Unauthorized');

die ("vous nêtes pas autoriser à accéder à cette espace !");

}

// sinon l'utilisateur a saisis le bon login et mot de passe
//renvoi vers une autre page web sécurisée.

echo "Bienvenue $user.

";

echo "vous avez le bon login et mot de passe et donc vous avez pu accéser !!!!.

";

ceci marche nickel !!!

Mon problème est que je veux accéder à cette page web sécurisée sans que l'utilisateur ne tape le login et le mot de passe, càd que je passe de cette page d'accueil vers l'autre sans que l'utilisateur n'ai la fenêtre d'autentification HTTP sachant que le login et mot de passe sont fixés auparavant !

Merci de m'aider

@ -:)

Zebra

2 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

C'est pas vraiment possible sans tricher, parce que l'authentification HTTP est gérée par le navigateur. Elle se fait sans cookies, ou paramètre dans l'URL : elle fait partie intégrante du protocole HTTP. Donc : il faut obligatoirement que le navigateur envoie à un moment ou un autre un identifiant et un mot de passe pour le "realm" concerné, qu'il conservera pour utilisation ultérieure.

Une manière de tricher est d'ouvrir la page avec fopen et une url de ce genre :

login:password@www.host.tld/page/securisee.php

Mais à ce moment là, l'authentification HTTP ne sert plus à rien, puisque c'est le script qui fait l'identification... Autant utiliser les sessions PHP.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

Merci NEIGEDIVER pour ta réponse, moi j'en ai besoin car je fais cette authentification pour utiliser des webservices situés dans un autre endroit !!


pour accéder à ces webservices je dois m'autentifier ,
si j'utilise
login:password@www.host.tld/page/securisee.php

j'ai l'erreur : HTTP Error: HTTP authentication failed

Merci de m'aider

@ -:)

Zebra