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 :

Régénérer une session et effacer l'ancien fichier de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut Régénérer une session et effacer l'ancien fichier de session
    Bonjour,

    J'essaie désespérement de me prémunir contre le vol de session et de toutes les solutions évoquées il apparait que la meilleur, dans mon cas du moins, consiste à régénérer les sessions avec sessions_regenerate_id().

    J'ai donc fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    session_start();
    session_regenerate_id();
    ?>
    Mais on me dit que je dois aussi effacer l'ancien fichier de session.
    Et là je ne trouve pas comment faire. Et le manuel PHP n'est pas un chef-d'oeuvre sur ce point précis.

    Alors, comment faire s'il vous plait ?

  2. #2
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    evites de créer 36 sujets pour un même problème stp !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Je m'y attendais à celle là Kioob !

    Mais j'estime que ce sont des problèmes différents, l'autre ayant au contraire trop dévié.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 501
    Par défaut
    session_regenerate_id(true); //boolean apparut en PHP 5.1.0
    true : pour effeacer l'ancien fichier de session

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Je vais voir, merci Smarties.

    Tu as un bout de code pour vérifier que l'id est régénérée ou plutot pour vérifier que l'ancien fichier de session est supprimé ?
    C'est simplement le true dans session_regenerate_id(true) qui non seulement régénère l'id de session, mais qui en plus efface l'ancien fichier ?
    Comment cela se fait-il si c'est cela ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 501
    Par défaut
    Tu peux aller voir à cette page, je trouve que c'est clair :
    http://ca.php.net/manual/fr/function...enerate-id.php

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Non c'est gentil de me filer ce lien mais je l'ai lu et je pige pas.

    Y'en a un qui ça :
    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
     
    Wrong:
    <?php
       session_start();
       session_regenerate_id();
       session_destroy();
    ?>
     
    Correct-like:
    <?php
    if (!$_GET['mode']){
       session_start();
       session_regenerate_id();
       header('location: '.$_SERVER['REQUEST_URI'].'?mode=destroy');
    } else {
       session_start();
       session_destroy();
    }
    ?>
    Bon la solution 1 est fausse, et la deuxième c'est du charabia.

    Donc j'ai fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session_start();
    session_regenerate_id();
    Mais quid du fameux effacage de fichier de session... D'ailleur je ne sais même pas ce que s'est et ce qu'il contient ce fichier de session.

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/07/2009, 10h46
  2. Réponses: 0
    Dernier message: 03/06/2008, 11h44
  3. Réponses: 4
    Dernier message: 30/11/2007, 08h55
  4. Ecrire dans un fichier sans effacer son ancien contenu.
    Par Mysti¢ dans le forum Général Python
    Réponses: 4
    Dernier message: 03/11/2006, 14h18
  5. Comment effacer toutes les variables de sessions en une fois
    Par dessinateurttuyen dans le forum Langage
    Réponses: 4
    Dernier message: 03/08/2006, 09h20

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