Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2006, 19h30   #1
Invité de passage
 
Inscription : juin 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 2
Points : 0
Points : 0
Par défaut [Sécurité] Pb authentification PHP

Bonjour,

je développe une application en PHP pour authentifier les utilisateurs : un centre d'authentification. Le problème est que j'utilise des sites différents :
www.truc.fr (pour un site 1)
machin.truc.fr (pour un site 2)
bidul.truc.fr (pour un site 2)
auth.truc.fr (pour le site d'authentification)
Mon script vérifie bien dans une base mysql et tt fonctionne correctement depuis le site auth.truc.fr mais comment vérifier l'identité du visiteur depuis les autres sites ?

Créer un ID dans un cookie ou une session ne fonctionne pas car les sites sont différents (la session est valable depuis auth.truc.fr et inacessible depuis les autres sites *.truc.fr).

Comment puis-je faire ? Avez vous déjà dévellopé ce genre d'application ? Avez -vous des liens ou conseil à me transmettre ?


Merci beaucoup.
bodybody22000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 19h44   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
je suppose qu'il faut utiliser un système de jetons d'accès.

Comment je ferais si j'avais à faire ça....
Une fois qu'il est authentifié, je redirige l'utilisateur vers le site en question, en passant une variable par GET ou POST, qui pointe vers une entrée dans la base de données, valable pour une courte durée uniquement.

Ainsi, du point de vue du site, on a un client qui arrive avec un pointeur vers des informations dans la base de données.

NB c'est sans garantie que ça soit la méthode la plus simple, la plus sûre et la plus efficace !
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 19h56   #3
Invité de passage
 
Inscription : juin 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 2
Points : 0
Points : 0
Ok merci pour ta réponse, cela me semble être effectivement une bonne solution. Peux tu m'expliquer d'avantage le système à jetons ?

Lorsque je suis redirrigé sur un site (machin.truc.fr par ex.) avec un jeton, dois-je utiliser une session pour ce site par la suite pour me souvenir de l'identité de l'utilisateur ?



Merci
bodybody22000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 20h26   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par bodybody22000
Ok merci pour ta réponse, cela me semble être effectivement une bonne solution. Peux tu m'expliquer d'avantage le système à jetons ?
Les jetons c'est un principe de fonctionnement, c'est pas vraiment du php.
Quand un utilisateur veut accéder à une ressource (site web, machine, application...), on lui demande de passer par un serveur d'authentification. Celui-ci vérifie que l'utilisateur a bien le droit de faire ce qu'il veut faire, et si oui il lui donne un jeton (qui peut prendre plusieurs forme, un nombre par exemple). L'utilisateur présente ensuite ce jeton à la ressource pour pouvoir y accéder, et la ressource vérifie l'authenticité du jeton auprès du serveur d'authentification.
C'est, en très gros, le principe de fonctionnement d'un protocole comme Kerberos.
En encore plus gros, c'est le genre de truc que j'ai essayé de décrire pour ton cas précis.

Citation:
Envoyé par bodybody22000
Lorsque je suis redirrigé sur un site (machin.truc.fr par ex.) avec un jeton, dois-je utiliser une session pour ce site par la suite pour me souvenir de l'identité de l'utilisateur ?
Je te le conseille.
Les sessions, c'est bien
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 09h28   #5
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Sinon, pour les sessions, tu peux les rendre communes à tous tes sous domaines en modifiant "session.cookie_domain". Dans ton exemple il suffit de lui donner la valeur .truc.fr (ne pas oublier le . au début).

Par contre selon la méthode de stockage des sessions sur le serveur, ça peut ne pas fonctionner (typiquement avec eAccelerator ça ne marchera pas tant que le paramêtre name_space ne sera pas utilisé).
__________________
Google is watching you !
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h10.


 
 
 
 
Partenaires

Hébergement Web