[PHP] forcer authentification HTTP sans demander à l'utilisateur

forcer authentification HTTP sans demander à l'utilisateur [PHP] - PHP - Programmation

Marsh Posté le 11-10-2005 à 17:56:14    

Bonjour, je m'explique :
 
Sur un site perso, j'ai déjà créé un système d'authentification, mais ce même site accede à un répertoire protégé par un .htaccess (authentification HTTP d'apache).
Je sais qu'il est possible de faire ce même système avec PHP (cf. http://php.ftp.cvut.cz/manual/fr/f [...] -auth.php), mais ce que je voudrais moi, c'est forcer cette authentification dans le code pour que des qu'un utilisateur accede au fichier dans le répertoire protégé par le .htaccess, il n'ait pas à ce ré-identifier une deuxième fois...
 
En gros, j'aimerais faire ca : $_SERVER['PHP_AUTH_USER']="gothico";, et hop, dans le cache, plus besoins de s'identifier ;) (je précise bien évidemment que ca marche pas cet exemple  :D )
 
J'espere avoir été assez clair (ce qui n'est pas évident...).
 
Merci pour votre aide.


Message édité par gothico le 12-10-2005 à 14:44:44
Reply

Marsh Posté le 11-10-2005 à 17:56:14   

Reply

Marsh Posté le 11-10-2005 à 18:03:16    

http://login:password@serveur/dossier/ ?
 
edit : finalement c'est ptet un peu con, ca marche plus de base sous IE avec leur super mise à jour de sécurité pour empêcher le fishing  :fou:


Message édité par Mackila le 11-10-2005 à 18:04:37
Reply

Marsh Posté le 12-10-2005 à 14:41:40    

Merci pour la technique, mais c'est pas super sécurisé ca :D
Je préfererais pas mettre le mdp en clair ;)
Quelqu'un a d'autres ici?


Message édité par gothico le 12-10-2005 à 14:43:27
Reply

Marsh Posté le 12-10-2005 à 16:15:09    

Bah de toute facon tu risque d'avoir besoin de donner le mdp au client donc je pense pas qu'il y ait vraiment un méthode sécurisée.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 13-10-2005 à 15:28:33    

Peut-être, mais vraiment pas de la même manière, ici en faisant http://login:password@serveur/dossier/, après, sur chaque liens le login:password apparaitra en clair...

Reply

Marsh Posté le 25-09-2008 à 09:59:42    

Salut,
 
j'ai le même problème, et merci microsoft pour leur patch de sécurité qui respectent pas les rfc ;(
 
As-tu réussi a trouver une solution ??
 
Merci

Reply

Marsh Posté le 25-09-2008 à 10:52:47    

Le htaccess contient le meme champ Auth-Name, si ton user est pas trop con il aura retenu ..


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 25-09-2008 à 11:55:13    

Déjà, est ce que ta page en php et le répertoire protégé est sur le même serveur et est ce que ton système d'identification en php est basé sur l'autentification du serveur web?
Si c'est non pour l'un des deux et que tu ne veux pas utiliser de script php comme relais alors il n'y a pas de solution sécurisé (sans envoie du mot de passe au navigateur) à ta question.

Reply

Marsh Posté le 25-09-2008 à 12:08:57    

Grosbin, dsl mais j'ai pas suivi ta réponse ...
 
Ma page PHP ne se trouve, bien entendu, pas au même endroit que la page finale à laquelle je souhaite accéder.
 
Mon authentification sur le serveur distant est bien du http basic, c confirmé.
 
Il n'existe pas de moyen de faire ??

Reply

Marsh Posté le 25-09-2008 à 13:03:37    

La seule solution c'est de donner le lien du type : http://user:passwd@site.com/rep/
Ou alors faut revoir la manière dont est réalisée l'identification sur le "serveur distant".


Message édité par dwogsi le 25-09-2008 à 13:03:46

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2008 à 13:03:37   

Reply

Marsh Posté le 25-09-2008 à 13:05:07    

Et oui, mais ce genre d'url n'est plus supporté par IE ;(
Je n'ai pas la main sur le système distant malheureusement.

Reply

Marsh Posté le 25-09-2008 à 13:07:05    

Oui je sais que c'est problématique avec IE (comme toujours soit dit en passant) mais ya pas pas d'autre solution sinon donner les login/mdp à l'utilisateur suivit du lien à visiter.
 
Si t'as pas la main sur le serveur, tu peux rien faire d'autre.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2008 à 13:26:01    

Remarque, tu peux aussi à partir de ton script aller lire sur le serveur "distant" (ya tout ce qui faut niveau wrapper pour ouvrir des URL type http://user:mdp@site.com/rep/). Tu peux alors directement renvoyer le contenu que tu lis sur l'autre serveur et ce sans jamais dévoiler le mot de passe.
 
C'est pas excellent comme solution mais ça peut marcher (selon les cas en fait) et puis je que ça...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2008 à 14:14:49    

et sinon, développer un système classique d'identification avec des session ?

Reply

Marsh Posté le 25-09-2008 à 14:47:27    

Il dit qu'il a pas la main sur le serveur donc spa possible :o


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2008 à 15:01:24    

oups , j'avais pas vu :d

Reply

Marsh Posté le 25-09-2008 à 23:07:02    

J'ai fait tout les forums, et je crois qu'il va falloir admettre que microsoft me fou bien dans la m....
J'ai essayer tout plein de truc, curl, fsockopen.
 
Y a bien un truc en java avec une classe Authenticator, mais elle requiert des modification sur un fichier en local sur le poste de l'utilisateur (et en plus faut le jre d'installé, alors c encore pire).
 
Merci quand même pour vos réponses

Reply

Marsh Posté le 29-09-2008 à 16:08:01    

Sessions, cookies, sessions par url ?


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 29-09-2008 à 20:54:08    

Je suis pas sûr d'avoir tout suivi, mais si tu veux taper depuis ton serveur sur un autre et utiliser le htacess du répertoire sur ce serveur distant le tout avec une authentification transparente puisqu'elle est gérée sur ton serveur (et identique sur l'autre si je suis bien), alors pourquoi ne pas forger la requête http qui va bien avec les entête d'authentification :??:
 
bonne lecture

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed