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 :

[Sécurité] SESSION et sous-domaine


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut [Sécurité] SESSION et sous-domaine
    Bonjour,

    J'aimerai pouvoir récupérer ma session dans un site possédant plusieurs sous-domaine.
    Exemple : http://www.site.com , http://toto.site.com et encore http://tata.site.com

    J'ai lu qu'il n'existait pas d'autre moyen que d'envoyer la session dans l'url. Ca ne m'arrange pas beaucoup car je n'arrive pas à stocker ma session_id dans un cookie.

    Connaissez vous une autre méthode pour récupérer ma session ? J'utilise PHP 5.

    Cordialement,

    Kael

  2. #2
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    Je n'ai jamais rencontré ton problème (en tant qu'amateur je n'ai pas de sous domaine ;-) )
    mais eventuellement dans une variable de type $_POST,
    il faut envoyer un header pour cela.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    C'est impossible, premièrement car je stocke des logins / mot de passes et puis car on acces d'un domaine à l'autre par des <a href>.

  4. #4
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    C'est une méthode que j'éviterai car elles ne sont pas faite pour ça mais tu peux toujours utiliser t'as base de données

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Citation Envoyé par Kael
    C'est impossible, premièrement car je stocke des logins / mot de passes et puis car on acces d'un domaine à l'autre par des <a href>.
    et ca t'empeche de faire un simple bouton a la place de ton lien avec tout en type hidden?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par zulot
    Citation Envoyé par Kael
    C'est impossible, premièrement car je stocke des logins / mot de passes et puis car on acces d'un domaine à l'autre par des <a href>.
    et ca t'empeche de faire un simple bouton a la place de ton lien avec tout en type hidden?
    on peut faire passer un formulaire avec un lien, avec js

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Wormus: J'ai pensé à cette possibilité d'utiliser la BDD. Mais j'imagine des gens dans un réseau local (même IP public) surfant sur mon site. Comment je pourrai les distinguer ? Si tu as une solution je la veux bien, ca m'interresse vraiment.

    zulot: Parce que la plupart de mes liens sont derrieres des photos et que je ne suis pas trop pour cacher un mot de passe derriere un hidden (visible dans le code généré).

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Kael : une image peut servir de bouton d'envoi de formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" src="___">

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Je ne le savais pas mais ca ne change pas mon problème car j'ai besoin de sécuriser mes données. Je ne pense pas qu'avec javascript je pourrai les masquer. Je vais vous expliquer plus précisément.

    Dans la page d'accueil (www.site.com) on doit pouvoir se logguer et visiter les autres sites (qui sont dans des sous-domaines, forum.site.com ou toto.site.com) en étant logguer. De plus dans les sous-domaines, nous devons pouvoir se logguer et visiter les autres sites. Pour exemple, un utilisateur se logg dans forum.site.com puis decide en modifiant manuellement l'url (!!!), de visiter toto.site.com. Dans ce cas là, il est impossible de garder les données car, javascript ou bouton hidden, les données ne seront pas transférer.
    Les sessions ne sont pas valides d'un sous-domaine à un autre. Tout comme (je pense après mes multiples essais) les cookies.

    Il se pose à moi deux choix :
    _ Trouver un moyen de garder l'id de session (session_id()). Je ne vois pas comment et je m'en reporte à vous,

    _ Stocker dans la base de données le fait que mon user s'est bien connecté. Mais dans ce cas je ne sais pas comment je pourrai être sur que l'user est bien cet user. Exemple : Deux postes dans un réseau local se connecte à mon site. Ils ont donc la même adresse IP publique. Comment les différencier ? J'aurai penser à stocker l'adresse mac mais je ne pense pas que ce soit possible vu que ce n'est pas un intranet. Peut etre en récupérant également l'adresse IP privé ? Je ne connais pas la procédure. Si vous avez un bout de code me permettant donc de récupérer l'adresse publique ET l'adresse privée je suis preneur.

    Je vous remercie tout de même pour vos réponses.

  10. #10
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    J'ai une petite idée pour résoudre ton problème, mais j'ai jamais testé :-)

    Imaginons que ton user se soit logué sur www.site.com, il a donc un cookie de session sur www.site.com

    Maintenant il clique sur un lien qui le mène sur toto.site.com, par
    exemple: toto.site.com/truc.php, et la, pas de cookie.

    dans truc.php, tu crée une session, mais celle-ci est neuve, car pas de
    cookie, si la session est vide alors tu redirige sur:
    www.site.com/login.php?from=toto.site.com/truc.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header("Location: http://www.site.com/login.php?from=toto.site.com/truc.php");
    exit;
    Ta page login.php étant sur www.site.com reçoit le cookie de la première session, mais en plus elle reçoit le paramètre from=...

    Tu programmes ta page login.php pour qu'elle fasse les opérations suivantes dans ce cas:

    1) tu sauve en session le parametre from
    2) tu sérialise le tableau $_SESSION (voir serialize)
    3) sauver les données serialisée dans ta db
    4) rediriger ton navigateur sur toto.site.com/autolog.php?id=...

    id correspondrait à la clé de l'enregistrement dans ta db

    dans autolog.php tu fait:

    1) session_start
    2) charger les donnée de l'enregistrement id de ta db
    3) copie dans $_SESSION des donnée après déserialisation
    4) redirection à l'url sauvé dans "from"

    Je sais pas si il y a une technique plus simple, mais ça devrait marcher.

  11. #11
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 89
    Points
    89
    Par défaut
    sinon tu peux qd mem créer un formulaire et l'envoyé avec un champ hidden mais crypté par exemple en md5

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci à vous mais j'ai finalement décidé d'abandonner la connexion dans les sous domaines. Toutes les solutions posent plus ou moins des problèmes de sécurité ou sont difficilement réalisable à cause de mon architecture (mais merci Mercha).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/06/2008, 17h05
  2. PB session et sous domaines
    Par szilli.stickair dans le forum IIS
    Réponses: 2
    Dernier message: 23/04/2008, 17h46
  3. [Cookies] cookie, session, et sous domaine
    Par hansaplast dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2006, 10h15
  4. [Cookies] Transmission session entre sous-domaine
    Par speedev dans le forum Langage
    Réponses: 5
    Dernier message: 03/09/2006, 01h23
  5. [Cookies] Session et sous-domaines
    Par davmaster62 dans le forum Langage
    Réponses: 14
    Dernier message: 23/03/2006, 10h12

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