effacer des variable de session si changement de page

Mammouth du PHP | 843 Messages

14 oct. 2006, 14:29

Salut à tous :)

je voulais savoir si il était possible d'effacer des variables de session si l'on change de page...

Je m'explique:
j'ai un formulaire qui pour son bon fonctionnement utilise certaine variables de session. Vue que parfois ce sont des données sensible qui y sont enregistrées, et que l'utilisateur peut tres bien quitter le formulaire alors que celui ci n'a pas aboutie (donc n'a pas effacer ces variables de session).

j'aimerai voir si il n'y a pas un moyen d'effacer ces variables si l'on quitte la page vers une autre page :-k

Si quelqu'un à une idée à me proposer ;)
Si quelqu'un pense que ce n'est pas nécessaire...

merci d'avance
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

14 oct. 2006, 14:33

Soit les données ont leur place dans une session, et donc peuvent être persistantes sans danger, soit elles n'y ont pas leur place :)

Mammouth du PHP | 843 Messages

14 oct. 2006, 14:41

je croit comprendre ce que tu veut dire :-k

en faite les données critique n'on pas leur place en session.

sachant que mes session ont une durée de vie jusqu'a fermeture du navigateur, si je crypt ces données critique en session cela peut être faisable, nan?

sinon par quel methode doit je passer pour enregistrer temporairement ces données?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 1511 Messages

14 oct. 2006, 17:18

De toutes facons, les données ne peuvent pas être récuperées par les autres sites donc il n'y a pas de problème apparent.
Les sessions sont stockées sur le serveur en lui même.
@+

Mammouth du PHP | 843 Messages

16 oct. 2006, 10:25

donc en fait si je comprend bien, seul un vol de la sessions lorsque celle ci est active peut être dangereuse?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 193 Messages

16 oct. 2006, 12:16

Pourquoi ne pas envoyer ces données avec un champs hidden?

Mammouth du PHP | 843 Messages

16 oct. 2006, 12:34

tous symplement car l'utilisation des session peut m'éviter cela...

enfin bref, je vais délaisser ce sujet qui, je pense, n'est pas une bonne idée dès le debut :?

je vais plutôt securiser mes sessions afin d'éviter les soucis ;)

j'effacerai donc les sessions complète via un timeout ou si l'user est déja identifier sous une autre session par exemple...

sinon encore merci à tous pour vous être pencher sur mon problèmes ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

16 oct. 2006, 12:47

en fait j'ai une dernière question avant de délester le sujet...

est ce que le vol de session passe obligatoirement par le vol du cookie de session d'un utilisateur connecter (donc le vol de l'id de session)?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 193 Messages

16 oct. 2006, 14:07

tous symplement car l'utilisation des session peut m'éviter cela...
On tourne en rond, les sessions t'évitent d'utiliser un hidden, l'hidden t'évite de vider ta session... A toi de voir quel outil convient le mieux à ce que tu veux faire...

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

16 oct. 2006, 17:27

Sinon pour t'offrir une solution de rechange, j'utilise personnellement un wrapper aux fonctions de session de départ, afin de gérer plus finement les dates de péremption.

Sur le principe, pour attribuer une date de validité plus courte à un lot de variable je stocke $_SESSION['mes_variables_de_courte_duree'] = array('expires' => time()+60, 'ma_variable_1'=>'ma_valeur_1', etc...).
Je regroupe ainsi mes variables dans un même tableau en session, accompagnées d'une date d'expiration.

À chaque début de page, en plus de session_start(), je vérifie chaque lot de variable et je fais simplement un unset() sur les lots périmés.

À chaque attribution de valer à une variable du lot, je remets à jour la date d'expiration.

Encapsulé dans une classe ça fait joli mais tu peux tout aussi bien gérer ça "à la main" pour ton formulaire en mettant une durée de vie très courte pour te rassurer.

Mammouth du PHP | 843 Messages

17 oct. 2006, 08:53

je pense que je vais y médité un peu car l'idée est simpa ;)

si cela peut m'éviter de refaire mes formulaires, se serai génial :)

par contre je me demande ce qu'il se passerait si l'utilisateur quitte le site en plein formulaire pour aller surfer ailleur :-k
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

17 oct. 2006, 12:14

en fait je croit que je vais faire un timeout pour mes sessions afin que celle ci ce ferme si inactiviter pendant un temps assez court...

dans ce cas je redirigerai vers le login.

en tout cas merci à tous pour vos conseil ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non: