Transfert de sessions, fusion ?

Eléphant du PHP | 53 Messages

30 avr. 2010, 12:34

Salut !

Petite question, je cherche une solution à mon problème de transfert de sessions d'un site à un autre et je me penche vers Curl !

Est il possible de transférer un identifiant de session d'un site à un autre (nom de domaine différents mais serveur identique) avec Curl, dans le but de pouvoir réutiliser cette session pour par exemple rester connecté quand on switch d'un site à un autre? Par exemple en fesant comme cela:

Code : Tout sélectionner

session_start(); $curl = curl_init(); curl_setopt($curl, CURLOPT_COOKIE, session_name() . '=' . session_id()); $page = curl_exec($curl); curl_close($curl);
Mais bon j'ai pas l'impression que cela est possible. En plus je ne peux pas tester pour l'instant, je suis toujours en phase d'approche... J'aimerais savoir donc savoir si Curl me permettra de le faire :priere:

Bonne journée :mrgreen:
Modifié en dernier par Maxou88100 le 03 mai 2010, 13:45, modifié 1 fois.

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 14:09

slt ,

non .. enfin pas à ma connaissance , je pense que tu vas perdre plus de temps à bricoler le code et la conf de ton serv que de trouver une alternative plus propre et portable .
:D

Ch.

Eléphant du PHP | 53 Messages

30 avr. 2010, 15:24

Arf ! Parce qu'en gros j'ai un dossier qui contient deux sites. un script et deux CSS ! Et sur chaque pages j'appelle un CSS différent en fonction du site sur lequel je me trouve... Et j'aimerais rester connecté quand je passe d'un site à un autre, mais les sessions ne sont pas partagées... Comment faire alors :(

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 15:31

utilise un cookie , tu peux spécifier le domaine auquel il appartiend .

Soit tu montes d'un niveau .. humm en fait non pas possible ,
Soit tu joues avec deux cookies ... bon , ca peut se faire simplement ..

Ou tu joues à faire des pass pass de sessid en url ( qui te sert d'id pour retrouver les infos de l'utilisateur dans par exemple une base ou un tableau en cache ) , ce que je déconseille fortement , pour des raisons de sécurité évidente , de plus les serveurs ne le permettent pas forcément ( pour éviter les vols de session )

En même temps tes sites , pourquoi doivent-ils être autant liés ?

Plus d'infos :

http://fr.php.net/manual/fr/function.setcookie.php
http://curl.haxx.se/rfc/cookie_spec.html

Eléphant du PHP | 53 Messages

30 avr. 2010, 15:44

En gros j'ai deux sites e-commerces mais il me faut une connexion commune ainsi qu'un panier commun ! Pour éviter les reconnexions dès qu'on change de site.

J'avais pensé sinon à fixer manuellement à partir d'une fonction qui génère une chaine aléatoire un cookie commun pour les deux sites à l'utilisateur ! Mais je ne sais pas si cela peut se faire ...


Il me faudrait quelque chose de très sécurisé :p J'ai pas trop le droit à l'erreur ^^

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 15:49

J'ai du mal à visualiser la navigation sur un site multiple en fait ,

pourquoi ne regroupe tu pas la totalité sur un seul domaine ?

le noms sont totalement différents ? ou c'est juste un .com d'un coté et un .fr de l'autre ?

Eléphant du PHP | 53 Messages

30 avr. 2010, 15:56

Héhé c'est là que ça se complique ^^ Je DOIS fonctionner comme ça et je n'ai pas le choix :p

J'ai deux sites qui vendent des produits différents propre à chaque site. Les noms de domaines sont complètement différents et je ne DOIS pas les regrouper en un seul site. Le principe de faire un script pour plusieurs styles (CSS et contenus) est que si plus tard je veux ajouter un troisième site, je pourrais le faire sans problème en ajoutant juste un contenu et un design différents sans refaire tout :)

Car les lignes de code se comptent en milliers :'(

Que faire ...

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 16:04

Helas ,

je ne vois pas de solution "propre" " sécurisé" et "fiable" pour ton problème :-s ...

Si d'autres ont une idée ?

Mammouth du PHP | 672 Messages

30 avr. 2010, 16:07

J'ai deux sites qui vendent des produits différents propre à chaque site. Les noms de domaines sont complètement différents et je ne DOIS pas les regrouper en un seul site.
Dans ce cas, où est l'intérêt de conserver la connexion ?
Personnellement, je n'apprécierais que modérément de partager une identification sur deux sites sans aucune relation...

Eventuellement, voir du côté des Authentifications uniques.

Mammouth du PHP | 985 Messages

30 avr. 2010, 16:08

Moi j'aurais répondu comme toi Stopher, un cookie crypté récupéré et décrypté par l'autre site pour vérification...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 53 Messages

30 avr. 2010, 16:19

J'ai deux sites qui vendent des produits différents propre à chaque site. Les noms de domaines sont complètement différents et je ne DOIS pas les regrouper en un seul site.
Dans ce cas, où est l'intérêt de conserver la connexion ?
Personnellement, je n'apprécierais que modérément de partager une identification sur deux sites sans aucune relation...

Eventuellement, voir du côté des Authentifications uniques.
Les deux sites appartiennent à la même entreprise. Le contenu des produits est totalement différent, mais le principe est le même. Il faut qu'il soit possible de suggérer des produits d'un site à l'autre sans soucis. Si tu clique sur le produit similaire situé sur lautre site, tu bascules sur l'autre site mais tu conserves ta connexion et ton panier ce qui me parait plus logique... Egalement, le référencement sur google doit être distinct pour chaque site! Chaud chaud chaud :p

Et il faut faire de cette manière :) Crois bien que si j'avais le choix j'aurais fait plus simple.

Mammouth du PHP | 985 Messages

30 avr. 2010, 16:23

Valeur du cookie:
- La date et heure...
- l'ip de l'utilisateur
- une succession de lettres et chiffres
- nom d'utilisateur
...
Le tout mélangé et crypté en md5

L'autre site récupère le cookie, et refais la même opération et ensuite compare le résultat
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 53 Messages

30 avr. 2010, 16:25

Donc si j'ai bien compris je peux fixé moi même un cookie ! Ca pourrait le faire :p

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 16:29

Valeur du cookie:
- La date et heure...
- l'ip de l'utilisateur
- une succession de lettres et chiffres
- nom d'utilisateur
...
Le tout mélangé et crypté en md5

L'autre site récupère le cookie, et refais la même opération et ensuite compare le résultat
Le problème n'est malheureusement pas là , mais bien au fait que le cookie sera construit est disponible que pour un seul domaine , d'ou ma proposition un peu bricolage d'en utiliser deux ( un par domaine ) , on modifie l'un , c'est répliqué sur l'autre et inversement une sorte de synchro en fait ..

Mais bon , ca reste du bricolage !

Mammouth du PHP | 985 Messages

30 avr. 2010, 16:35

Je pense à un truc:
On garde l'idée du cookie crypté pour sécurisation.


Sinon pour les commandes..., si ils sont sur le même serveur, tu enregistres les infos dans un fichier texte en dehors des deux racines des deux sites webs (donc inaccessible de l'extérieur), chaque site quelque soit son domaine, peut ensuite lire et écrire dans ce même fichier...

Genre tu génères le nom du fichier en rapport avec le cookie (ip,date...), pour qu'il soit retrouvé par l'autre domaine...
Ainsi on peut cumuler les commandes sur les deux sites...

[EDIT]
C'est peut-être même plus simple encore avec SQlite, mais là je n'en suis pas certain...

Le cookie servant juste a s'assurer que l'utilisateur vient bien de l'autre site web...
Donc dans ce cas aucun besoin de synchroniser les deux cookies.
Le reste des informations étant contenues dans un fichier texte ou autre..
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.