Discussion:
Session php sur 2 domaines
(trop ancien pour répondre)
draxar
2007-03-07 15:53:57 UTC
Permalink
Bonjour,
Comment peut-on garder une session php entre 2 domaines, les 2 étant sur
le même serveur (virtual server) ?

Je m'explique:
J'ai deux domaines : www.truc.com et www.machin.com
Les deux sont sur le même serveur dans des dossiers différents
(/web/truc et /web/machin).
Le domaine www.truc.com est pourvu d'un certificat SSL pour faire du
https, mais pas www.machin.com.
Or, j'ai besoin d'une page de login sécurisée sur www.machin.com.
Comme je n'ai pas envie de repayer $200 pour un nouveau certificat, j'ai
pensé mettre une page de login en php sur truc.com (sécurisé). Une fois
que le client s'est logué sur la page de truc.com, ses infos sont
stockées en variable de session et il est redirigé vers machin.com. Mais
là, évidemment, on n'est plus sur la même session php. J'ai pensé écrire
les infos utiles (login/pass) dans un fichier sur le serveur pour que la
nouvelle instance de php de machin.com puisse les récupérer, mais c'est
franchement moche. Une idée ?
Thief13
2007-03-07 22:23:43 UTC
Permalink
Comme la plupart des site qui on une interface d'admin en http et une en
https, tu fait retaper le login et le mot de passe par l'utilisateur. Tu
t'explique en disant qu'il arrive dans une partie sensible et mieux
protégé. ou alor, tu fait toute ton admin sur le domaine en https.
Newsgroups
2007-03-07 22:23:43 UTC
Permalink
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
draxar
2007-03-08 14:49:53 UTC
Permalink
Post by Newsgroups
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
C'est une idée en effet. Mais avoir une vieille popup disant "attention,
le certificat que voici sent le choux et le clodo qui l'a fait n'est pas
reconnu par une autorité compétente, etc." est assez moche. De plus,
avec ce nouvel IE, l'utilisateur ne peut même plus accepter
automatiquement le certificat autosigné. Bref, ce n'est pas fabuleux.
D'autant que j'ai un certif sur un autre domaine.

Par contre, j'ai vu qu'on pourrait passer la session par la base de
données : l'utilisateur va sur le site protégé, il y rentre son
login/pass, on récupère la session, on la met en base de données et le
site non protégé pioche dans la base de données. Ouai, ça devrait
marcher mais ce n'est toujours pas très beau. Enfin... Le problème reste
de savoir quelle est la meilleure solution pour que le site non protégé
puisse récupérer la session_id. Par l'url, vive la sécurité... Post/Get
= non. Faudrait pas que ça passe en clair. Ecrire la session_id sur un
fichier du serveur pour que les deux instances de php puissent la lire ?
Pourquoi pas ?
Yves Pouplard
2007-03-12 08:54:58 UTC
Permalink
Post by draxar
Post by Newsgroups
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
C'est une idée en effet. Mais avoir une vieille popup disant "attention,
le certificat que voici sent le choux et le clodo qui l'a fait n'est pas
reconnu par une autorité compétente, etc." est assez moche. De plus,
avec ce nouvel IE, l'utilisateur ne peut même plus accepter
automatiquement le certificat autosigné. Bref, ce n'est pas fabuleux.
D'autant que j'ai un certif sur un autre domaine.
Par contre, j'ai vu qu'on pourrait passer la session par la base de
données : l'utilisateur va sur le site protégé, il y rentre son
login/pass, on récupère la session, on la met en base de données et le
site non protégé pioche dans la base de données. Ouai, ça devrait
marcher mais ce n'est toujours pas très beau. Enfin... Le problème reste
de savoir quelle est la meilleure solution pour que le site non protégé
puisse récupérer la session_id. Par l'url, vive la sécurité... Post/Get
= non. Faudrait pas que ça passe en clair. Ecrire la session_id sur un
fichier du serveur pour que les deux instances de php puissent la lire ?
Pourquoi pas ?
faire générer par le site sécurisé un cookie déclaré au site non
sécurisé qui contiendra l'identifiant de session ?

Thierry
2007-03-08 14:49:54 UTC
Permalink
Post by Newsgroups
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
Y'aura alors un warning du navigateur. Ca n'inspire pas confiance si c'est
là iu l'utilisateur doit payer.
Calimero
2007-03-08 23:02:10 UTC
Permalink
Post by Thierry
Post by Newsgroups
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
Y'aura alors un warning du navigateur. Ca n'inspire pas confiance si c'est
là iu l'utilisateur doit payer.
Suffit de lâcher $15 pour un certificat signé par une autorité
présente dans les principaux navigateurs.

Ca impose par contre d'avoir une IP pour chaque certificat.

Ou alors partir sur un certificat "wildcard".
--
@+
Calimero
draxar
2007-03-09 17:46:03 UTC
Permalink
Post by Thierry
Post by Newsgroups
Post by draxar
Une idée ?
Peut etre avec un "certificat ssl autosigné"
Y'aura alors un warning du navigateur. Ca n'inspire pas confiance si
c'est là iu l'utilisateur doit payer.
Suffit de lâcher $15 pour un certificat signé par une autorité présente
dans les principaux navigateurs.
Ca impose par contre d'avoir une IP pour chaque certificat.
Ou alors partir sur un certificat "wildcard".
$15 ? Ca m'intéresse ça. Mon boss a laché $200 pour son certificat.
C'est où qu'on en trouve un à $15 ?
Eric
2007-03-08 14:49:54 UTC
Permalink
Post by draxar
Bonjour,
Comment peut-on garder une session php entre 2 domaines, les 2 étant sur
le même serveur (virtual server) ?
N'est-il pas envisageable de passer l'ID de session d'un site à
l'autre ? (par GET)
draxar
2007-03-09 17:46:03 UTC
Permalink
Post by Eric
Post by draxar
Bonjour,
Comment peut-on garder une session php entre 2 domaines, les 2 étant sur
le même serveur (virtual server) ?
N'est-il pas envisageable de passer l'ID de session d'un site à
l'autre ? (par GET)
Pas par Get/Post, pas en clair. Sinon en sniffant, on chope l'ID et ça
revient presque au même qu'avoir le login/pass : un inconnu pourra se
connecter en utilisant l'ID de session. Par contre, ça doit être
possible par un fichier sur le serveur ou par la base de données.
Continuer la lecture sur narkive:
Loading...