IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Session multi-domaines même serveur.


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 389
    Points
    389
    Par défaut Session multi-domaines même serveur.
    Bonjour,
    J'ai un serveur dédié avec trois domaines qui pointe dessus.

    Ma problématique :
    Mettre un place un système de session identique pour mes sites.

    En gros j'ai site1.fr (site principale) sur lequel tous les visiteur se connecte ou s'y connecte depuis une api depuis site2.fr et site3.fr.

    Ce que je compte faire :

    Si par exemple un visiteur x se connecte sur site1.fr.
    - Connexion de l'user sur le site1.fr
    - Récupération de la session_id
    - stockage en bdd des sessions du nouveau connecté (mail, login, key_user,etc..)
    - via curl mettre à jour sur site2.fr et site3.fr la valeur de session_id.

    Ensuite si l'utilisateur (précédemment connecté sur site1) arrive sur site2.fr par défaut il ne sera pas connecté. Mais si via l'id de session mis à jours avec curl, puis-je donc récupérer les informations de sessions créés sur site1 et donc connecter mon utilisateur sur site2 idem si arrive sur site3.


    Mais ma question :
    est-ce que tu coup même si j'initialise la session_id sur site2 et site3, quand le visiteur va arrivé sur l'un deux automatiquement avec php un session_id ne sera pas créé ?
    Et du coup impossible de récupérer les information en bdd via la valeur de session_id().


    Voilà je pose ces question car j'avoue avoir un peu la flemme de tout coder si au final cela ne fonctionne pas et donc plutôt réfléchir à une autre solution viable.

    Merci bien.

  2. #2
    Membre averti
    Avatar de Dumbeldor
    Homme Profil pro
    Développeur Concepteur Banque postale / Ecole d'ingénieur Alternance
    Inscrit en
    Novembre 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Concepteur Banque postale / Ecole d'ingénieur Alternance

    Informations forums :
    Inscription : Novembre 2013
    Messages : 88
    Points : 301
    Points
    301
    Par défaut
    Salut,

    Perso j'aurais créer une table commun à tous tes sites genre "user" avec l'id, le pseudo, le mot de passe enfin tous ce qu'y est commun avec tes 3 sites.
    Ensuite tu créer pour tes 3 sites des tables avec les champs qui diffère. Comme ça tu peux avoir "un seul compte" pour les 3 sites et simplement garder en session l'id de l'user pour pouvoir naviguer sur les différents site.
    Tu vois ce que je veux dire ? Car je trouve que tu te compliques la vie sinon !

    Dit moi si sa te conviens.
    N'oubliez pas de mettre un petit pouce vert si mon message vous a aidé !

  3. #3
    Membre régulier Avatar de moogli
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 58
    Points : 102
    Points
    102
    Par défaut
    salut,

    la session est liée au domaine car généralement elle utilise un cookie (et les cookies en sont consultable que si l'on est du domaine).
    il te reste la solution d'utiliser l'id de session passé dans l'url ou un formulaire post.

    Après s'il s'agit de sous domaine il est possible de partager les cookies, il faut juste que tu utilise le nom de domaine pour le cookie et non le sous domaine.
    Un explication dans la doc de la fonction session_set_cookie_params

    Généralement c'est un script JS (ce que fesait google par exemple) qui est utiliser pour faire cela (il récupère le sid en cookie et le fournit au script courant pour qu'il fasse une requête serveur et activer la session avec le sid en paramètre.

    Je n'ai pas testé ce genre de chose mais si c'est sur le même serveur php ce n'est pas un problème.


    d'autre infos sont disponible (comme créer ton propre "handler" de session par exemple en base mais tu dois quand même passer l'info).

    Si ce n'est pas sur un même serveur, il te faut stocker un cookie avec un hash (md5 / sha1 etc.) et ce hash que tu stock dans une table avec l'id utilisateur.

    dans tous les cas il te faut une liaison par le client.

    @+

Discussions similaires

  1. Apache session multi-domaine
    Par allolivier dans le forum Apache
    Réponses: 4
    Dernier message: 16/07/2012, 08h56
  2. Réponses: 3
    Dernier message: 09/07/2008, 02h25
  3. [Cookies] Cookie de session multi-domaine
    Par elspliffo dans le forum Langage
    Réponses: 9
    Dernier message: 21/03/2007, 23h02
  4. Session multi serveur
    Par zegone dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2006, 11h53
  5. [MySQL] Connexion multi-database sur le même serveur
    Par brazza dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/11/2005, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo