DEDIBOX-NEWS.COM

Le Forum Non Officiel de la DEDIBOX

Vous n'êtes pas identifié.

#1 2007-04-30 11:16:42

Black Dragon
Maitre Jeidi
Date d'inscription: 2006-11-05
Messages: 465

Php, sessions et URL?

Bonjour à tous!!

J'ai créé un script de gestion de fiches clients. Enfin bref, je vous explique le principe et mon problème:
- La fiche client est créée
- Un mail est envoyé au responsable du service auquel le client a souscrit
- Dans ce mail, un lien pour consulter la fiche client

- L'url de destination envoie vers une page accessible que si on est loggé.
-> Quand on clique sur le lien: on arrive directement a la fiche si on est loggé

Mais si on est pas loggé, on arrive à la page ou il faut entrer son pseudo et pass, MAIS après, on perd l'url qu'on cherchait à atteindre...

Comment faire pour que, après que la personne du service se soit loggé, on retourne sur la page ou il voulait aller au début? sad

Merci d'avance à vous! J'ai testé pas mal de trucs sans succès...

Hors ligne

 

#2 2007-04-30 11:30:17

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Php, sessions et URL?

Ben faut la passer au formulaire d'authentification et la garder en mémoire aux différentes étapes d'authentification (variable hidden de formulaire...).

Hors ligne

 

#3 2007-04-30 13:19:44

Black Dragon
Maitre Jeidi
Date d'inscription: 2006-11-05
Messages: 465

Re: Php, sessions et URL?

Ok, mais si on n'a pas de page ou aller, et qu'on veut simplement rentrer dans l'interface, a ce moment la, pas de redirection a la fin de l'authentification.

je veux bien passer par le hidden, mais comment récupérer l'url ou l'on voulait aller?

Hors ligne

 

#4 2007-04-30 13:44:56

Mogui
D'honneur de membre
Lieu: 92 et 67
Date d'inscription: 2006-05-28
Messages: 1625
Site web

Re: Php, sessions et URL?

lors de "l'arrivage" sur la page de consultation, tu verifie si il est loggé, si non: tu fou la page en session, apres le form de login, si la session existe, tu rediriges sur celle ci.


Les gens normaux... croient que si ça marche, c'est qu'il n'y a rien à réparer.
Les ingénieurs croient que si ça marche, c'est que ça ne fait pas encore assez de choses.

Hors ligne

 

#5 2007-04-30 14:06:36

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Php, sessions et URL?

Je schematise, mais tu dois avoir qq chose comme ca au début de tes pages protétées:

[code=php]
if (!isset($_SESSION['user_id']))
{
      header('Location: login.php');
      exit();
}
[/code]

Une des solutions est de passer en paramètre à login.php la page initialement souhaitée:

[code=php]
if (!isset($_SESSION['user_id']))
{
      header('Location: login.php?returnurl=' . urlencode($_SERVER["REQUEST_URI"]));
      exit();
}
[/code]

Dans login.php tu peux donc récupérer $_REQUEST['returnurl'] pour savoir où rediriger l'utilisateur.

Si login.php ne reçoit pas d'URL en paramètre, suffit de rediriger vers une page par défaut...

Bien sûr faut affiner ce process et le sécuriser au maximum.

Hors ligne

 

#6 2007-04-30 14:36:39

Black Dragon
Maitre Jeidi
Date d'inscription: 2006-11-05
Messages: 465

Re: Php, sessions et URL?

Re a vous deux! Effectivement cela me parait une bonne solution smile Le paramètre que je cherchais était $_SERVER["REQUEST_URI"]... Merci a toi une fois de plus pour tes conseils smile

Mais quand tu parle de sécurité que veux tu dire ici? (je suis vraiment pas doué en sécurité...)

Hors ligne

 

#7 2007-04-30 14:47:45

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Php, sessions et URL?

Si tu connais le format des URL, tu as par exemple intérêt à passer la valeur REQUEST_URI  à la moulinette regexp (preg_match) pour t'assurer du bon format de ce qu'on t'envoie.

Bref, vérifier ce qu'on te fournit au lieu de simplement le reprendre comme dans mon bout de code. Faut voir en fonction de l'appli.

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson