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é] Non persistence des variables session ? [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 934
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    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

  3. #3
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 934
    Par défaut
    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 !!!

  4. #4
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 934
    Par défaut
    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 !!!

  5. #5
    Invité4
    Invité(e)
    Par défaut
    il n'y a pas de session_start(); dans toto.php

  6. #6
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 934
    Par défaut
    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

  7. #7
    Invité4
    Invité(e)
    Par défaut
    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.

  8. #8
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 934
    Par défaut
    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

  9. #9
    Invité4
    Invité(e)
    Par défaut
    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.

  10. #10
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    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/

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

Discussions similaires

  1. Détruire des variables session
    Par jules_diedhiou dans le forum Langage
    Réponses: 4
    Dernier message: 10/11/2008, 23h52
  2. Réponses: 1
    Dernier message: 11/06/2007, 23h39
  3. Non interprétation des variables
    Par usf70 dans le forum wxPython
    Réponses: 3
    Dernier message: 09/05/2007, 13h21
  4. gestion des Variables Sessions
    Par Landolsi dans le forum ASP.NET
    Réponses: 8
    Dernier message: 08/02/2007, 13h30
  5. Réponses: 6
    Dernier message: 28/11/2005, 12h03

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