Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/02/2006, 18h28   #1
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Par défaut [Sécurité] Non persistence des variables session ?

Bonjour,
J'ai lu avec attention un post en cours et
il m'arrive à peu près la même chose,en local avec mov'amp et online et même en épurant un maximum, comme suit mon code, pour essayer de trouver mes éventuels bugs qui pourraient interférer, je m'arrache les quelques cheveux qui me restent sur la tête !!

Soit un fichier index.php ne contenant que
Code :
1
2
3
4
5
 
<?php
session_start();
  $res=include($_SERVER["DOCUMENT_ROOT"].'/exploit/identification.php');
?>
Soit un fichier identification.php ne contenant que
Code :
1
2
3
4
5
6
7
8
 
<?php
    $_SESSION['vs_uti_cleunik']=37;
    $_SESSION['vs_qui']="Gentil badaud ?";
    $_SESSION['borne_mini']=1;
    $_SESSION['borne_maxi']=10;
    include($_SERVER["DOCUMENT_ROOT"].'/exploit/toto.php');
?>
et soi un fichier toto.php ne contenant que
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="fr-fr">
<head>
<link rel="stylesheet" type="text/css" media="screen" title="Style de l'utilisateur" 
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta content="Christophe Charron" name="author">
<title>Intro</title></head>
<body>
<div id="content"><h2>Cher <?php echo(isset($_SESSION['vs_qui'])) ? $_SESSION['vs_qui'] : 'Je ne sais pas' ; ?>, bienvenue ...</h2>
<blockquote>
<?php echo(isset($_SESSION["vs_uti_cleunik"])) ? $_SESSION["vs_uti_cleunik"] : 'Je ne sais pas' ; ?><br>
<?php echo(isset($_SESSION["vs_qui"])) ? $_SESSION["vs_qui"] : 'Je ne sais pas' ; ?><br>
<?php echo(isset($_SESSION["borne_mini"])) ? $_SESSION["borne_mini"] : 'Je ne sais pas' ; ?><br>
<?php echo(isset($_SESSION["borne_maxi"])) ? $_SESSION["borne_maxi"] : 'Je ne sais pas' ; ?><br>
 
on y <a href="/exploit/toto.php">va</a>? 
<br>
</blockquote>
</body></html>
Le premier "appel" au fichier "toto" m'affiche bien ce que j'attends mais pas le second !!!

Visible http://test01.christophe-charron.org/

Merci pour votre aide

--
Cordialement
Christophe Charron
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 18h52   #2
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
le pbm peut etre du pour ma part a une config de ton fichier php.ini. en fait ya une directive qui permet de fixer la duree de vie des variables de session
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 19h09   #3
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par ouatmad
le pbm peut etre du pour ma part a une config de ton fichier php.ini. en fait ya une directive qui permet de fixer la duree de vie des variables de session
D'acc mais laquelle, et en l'occurrence, elle doit être fixée à 0 alors tellement le délai est court !!!
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 21h18   #4
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par ouatmad
le pbm peut etre du pour ma part a une config de ton fichier php.ini. en fait ya une directive qui permet de fixer la duree de vie des variables de session
J'ai vérifié, d'après toute la litterature que j'ai trouvé ici et ailleurs les paramètres qui semblent tous bons !!
Le pire c'est que lorsque j'édite le fichier sess_.... qui est dans mon répertoire tmp indiqué dans le "session.save_path" je retrouve bien mes valeurs !!!!

J'y perds complètement mon latin !!!
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 21h32   #5
Invité4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
il n'y a pas de session_start(); dans toto.php
  Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 21h44   #6
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Eldacar
il n'y a pas de session_start(); dans toto.php
Oui ?? Serais-je en train de me fourvoyer depuis le début ?
J'ai mis un session_start() dans index.php, pensant que les autres pages allaient ultérieurement en hériter . Me trompe-je dans la philosophie ? Si il faut commencer une session à chaque page, j'avoue ne pas voir l'intérêt !!

Ce n'est plus mon latin qu'il me va falloir retrouver mais le chinois qu'il me va va fallloir comprendre, et entre nous soit dit, php n'en est pas loin pour moi pour l'instant !!!

Merci de m'éclairer.

--
Cordialement
Christophe Charron
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 21h50   #7
Invité4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
tu dois mettre session_start() en début de chaque page.
la session n'est pas réinitialisée, mais continuée.
Cela permet d'y accéder ensuite.
  Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 22h02   #8
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Eldacar
tu dois mettre session_start() en début de chaque page.
la session n'est pas réinitialisée, mais continuée.
Cela permet d'y accéder ensuite.
P.... Mais quand on m'explique clairement, je suis tout a fait capable de comprendre !!!

Un immense merci.
Dernière question subsidiaure ô mon sauveur : il est bien entendu que l'on ne doit ajouter "session_start()" que lorsque l'on va lire ou écrire dans les variables de session ? hein ? rassures-moi ?

--
Cordialement
Christophe Charron
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 22h04   #9
Invité4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Oui, chaque page qui doit lire ou écrire dans les sessions doit faire un session_start() avant tout envoi au navigateur (début de fichier)

Donc si tu faire quoi que ce soit avec ta session, tu lances un session_start()

Sinon, tu peux quand même le faire, même si tu ne touche pas aux sessions.
Moi, j'ai un include qui le fait sur chaque page.
  Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 22h05   #10
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par Christophe Charron
Un immense merci.
Dernière question subsidiaure ô mon sauveur : il est bien entendu que l'on ne doit ajouter "session_start()" que lorsque l'on va lire ou écrire dans les variables de session ? hein ? rassures-moi ?
oui c'est ça

pour plus de détails sur les sessions, je te conseille de regarder le tutoriel suivant :
http://beaussier.developpez.com/articles/php/session/
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h12.


 
 
 
 
Partenaires

Hébergement Web