Envoi de données vers un autre site

AlphaBlondy
Invité n'ayant pas de compte PHPfrance

13 sept. 2011, 16:13

Bonjour à tous,
Voilà j'aurai une petite question concernant l'envoi de donnée vers un autre site. J'ai un site A sur lequel je me log avec un login et un mot de passe et je voudrais pouvoir récupérer ces informations juste avant d'accéder au site B (qui utilise cakePHP et le même login et mot de passe que le site A) ceci afin de pouvoir être connecté automatiquement sur le site B lorsque je me connecte sur le site A. Les deux sites partagent la même base de données. Merci pour votre aide.

ViPHP
ViPHP | 2577 Messages

13 sept. 2011, 16:20

A priori je pense que ce n'est pas possible à moins que les 2 sites aient le même nom de domaine comme www.phpfrance.com et forum.phpfrance.com. L'impossibilité via du blocage d'une faille de sécurité.

Pour se faire, utiliser pour les cookies "*.phpfrance.com" au lieux de "www.phpfrance.com" ou "forum.phpfrance.com".

AlphaBlondy
Invité n'ayant pas de compte PHPfrance

13 sept. 2011, 16:37

C'est bien la première fois que je lis le mot "impossible" en ce qui concerne l'informatique ^^, merci pour la réponse en tout cas, mais quelqu'un aurait une idée ?

Mammouth du PHP | 672 Messages

13 sept. 2011, 16:59

Bonjour.

En fait, ça dépend aussi de la méthode que tu veux utiliser pour passer d'un site à un autre.
Si c'est par un lien, tu peux toujours travailler sur la BDD :
1. Connexion au siteA => création d'un token/identifiant, stocké dans la BDD.
2. Lien vers siteB => inclure identifient du membre et token (par un GET, par exemple)
3. Arrivé sur le siteB, vérifier dans la BDD que le token correspond bien à l'identifiant.

C'est du basique (et à sécuriser), mais l'idée peut se tenter, vu que tu partages la BDD...

AlphaBlondy
Invité n'ayant pas de compte PHPfrance

13 sept. 2011, 18:30

Je ne vois pas comment inclure le token dans l'url avec un GET, car pour moi le GET sert juste à récupérer des informations dans un formulaire par exemple.

AlphaBlondy
Invité n'ayant pas de compte PHPfrance

13 sept. 2011, 21:46

Ok et après dans le cas où je voudrais passer par autre chose que par un lien (taper directement l'adresse du site B dans la barre d'adresse) ?

Mammouth du PHP | 672 Messages

15 sept. 2011, 09:39

Je ne vois pas comment inclure le token dans l'url avec un GET, car pour moi le GET sert juste à récupérer des informations dans un formulaire par exemple.
<a href=http://www.siteb.ext/index.php?token=12345&id_user=toto
Ok et après dans le cas où je voudrais passer par autre chose que par un lien (taper directement l'adresse du site B dans la barre d'adresse) ?
Là, par contre, je ne vois pas trop de solution.
Parce que sans information, siteB ne peut pas savoir si je suis déjà connecté sur siteA

A la limite, tu peux essayer de bidouiller à partir des informations utilisateur récupérables - adresse IP, navigateur, etc.
- A la connexion sur le siteA, tu enregistres les données et l'user.
- A chaque ouverture d'une page de siteB tu vérifies que les informations utilisateur correspondent à un user enregistré dans siteA.
Mais au niveau sécurité, j'ai des sérieux doutes :?

Sinon, tu peux te documenter sur l'Authentification Unique, ou sur la technique du pixel espion...

Mammouth du PHP | 568 Messages

19 sept. 2011, 10:54

J'ai déjà eu à faire ça pour un site e-commerce, le client voulais avoir un caddie partagé entre plusieurs sites.

La seule solution viable (et qui fonctionne) que j'ai trouvé était lors de l'ajout d'un item au caddie sur un des sites, d'aller mettre à jour la session sur les autres sites et de revenir sur le site comme la session partagé fonctionne (un peu le même principe que les sites de paiement bancaires, on se connecte au site, on fait notre paiement, puis une redirection nous renvoie vers le site d'achat).

Pour se faire, un simple lient "ajouter au panier" pointant vers un script qui va rediriger vers le site voulut, écrire/mettre à jour la session puis revenir vers le site en cours.