Question de SESSION ... - PHP - Programmation
Marsh Posté le 31-03-2010 à 13:21:55
Je pense qu'il faut que le système de gestion des sessions soit commun aux sites concernés : session stockée en base ou utilisation d'OpenID, par ex.
Sinon, voir si l'API permet de récupérer les données de session d'un site à l'autre
Marsh Posté le 31-03-2010 à 23:15:41
rufo a écrit : Je pense qu'il faut que le système de gestion des sessions soit commun aux sites concernés : session stockée en base |
Cela me semble être une très bonne idée. Merci rufo.
Marsh Posté le 04-04-2010 à 18:51:32
1) le HTTP_REFERER,c'est au "bon vouloir" du client, passer directement un ID de site me semble être une meilleure idée.
2) si je ne m'abuse, les sessions PHP sont stockées dans un *même* répertoire, sur un même serveur. Ca ne devrait pas poser problème de les partager sur un même serveur.
Marsh Posté le 30-03-2010 à 19:01:53
Bonsoir,
Soit 2 sites A et B accessibles depuis les URLs suivantes :
http://domaine/siteA et http://domaine/siteB
Une session est créé pour chaque site. Le nom de la session est construite à partir d'un CRC32 de l'url.
Les 2 sites sont développées en PHP et sont couplés à une base Mysql. Chaque site a sa propre base de données.
Le problème est le suivant :
Je souhaite intégrer/"incuber" (sous forme d'iframe) sur chaque site une application tierce développée en PHP et commune aux 2 sites.
Cette autre application a besoin de réutiliser les données de la base du site en question. Elle effectue donc des requêtes SQL sur la BD du site correspondant.
Cette application est hébergée sur le même serveur mais est accessible avec un path différent.
La page index.php de l'application tierce est appelée à partir de la fonction header('Location:'.$url);
Pour attaquer la BD du site, j'ai besoin de récupérer le nom de la base (définie en variable globale sur le site). Le nom d'utilisateur est le même que le nom de la base et le mot de passe est identique aux 2 sites.
Pour ce faire, depuis la page d'appel, j'enregistre le contenu de cette variable dans une variable de session.
Sous l'environnement de l'application tierce, je recalcule le nom de la session à partir du HTTP_REFERER et je récupère l'information utile.
Je ne peux pas développer pour x et y raison sous l'environnement du site A ou B (ou de façon limitée). Par contre, j'aimerai récupéré de façon sécurisée le contenu des variables globales, le contenu des variables de session et bénéficier des API afin de développer mon propre code sous l'environnement de l'application tierce.
Existerait-il une solution ?
ouvrir la session .... récupérer les données et sans fermer la session, en ouvrir une autre ... (??) --> plutôt étrange
Merci pour vos contributions.