|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 14 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : août 2005 Messages : 361 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 14 ![]() |
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>.
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 259 ![]() |
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
|
|
|
00
|
|
|
#5 | |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 658 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 31 ![]() |
Citation:
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 14 ![]() |
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é). |
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Kael : une image peut servir de bouton d'envoi de formulaire.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 14 ![]() |
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. |
|
|
00
|
|
|
#10 | ||
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
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 :
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. |
||
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() |
sinon tu peux qd mem créer un formulaire et l'envoyé avec un champ hidden mais crypté par exemple en md5
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 14 ![]() |
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).
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com