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é dans les sessions


Sujet :

Langage PHP

  1. #1
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 584
    Points : 265
    Points
    265
    Par défaut Sécurité dans les sessions
    Bonjour,

    Encore une question sur les sessions,

    Dans un de mes scripts je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     if( isset($_SESSION['last_connection']) )
      {
        $last_connection=$_SESSION['last_connection'];
      }
      else
      {
        $last_connection=cc_date_FR($row[6]);
        session_register('last_connection');
        $date=strftime("%y/%m/%d %H:%M:%S");
        $connect->update("UPDATE Users SET LastVisite='$date'");
      }
    Et j'ai un message d'erreur qui apparait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
    En fouinant un peu sur le net, j'ai vu qu'il fallait passe le register global à on, ors il me semble que ce n'est pas très sécurisé...

    De plus, pour vérifier qu'un utilisateur est enregistrer j'enregistre sont login avec session_register et je vérifie s'il s'est bien loggé comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(isset($_SESSION["login"]))
    {
    Du coup, je me demande si ma méthode est bonne et il y a pas un moyen de détourné ca en modifiant la variable avec un post ou get.

    Merci de vos renseignements.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Avant de fouiner sur le net il faut lire la doc
    http://fr3.php.net/manual/en/functio...n-register.php

    register global doit rester à off.
    il faut utiliser $_SESSION

  3. #3
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 584
    Points : 265
    Points
    265
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Avant de fouiner sur le net il faut lire la doc
    http://fr3.php.net/manual/en/functio...n-register.php

    register global doit rester à off.
    il faut utiliser $_SESSION

    Oui, c'est ce que je fais et register global est à off. Seulement il faudra pour ne plus avoir ce message d'erreur le passer à on. Mais niveau sécurité c'est pas top.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'insiste : Il faut lire la doc

    Attention

    Si vous voulez que votre script fonctionne indépendamment de la configuration de la directive register_globals, vous devez utiliser la variable $_SESSION. Tous les éléments de $_SESSION sont automatiquement enregistrés. Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.
    et

    Attention

    Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), n'utilisez pas session_register(), session_is_registered() et session_unregister().
    et encore

    <?php
    // L'utilisation de session_register() est déconseillée
    $barney = "Un gros dinosaure violet.";
    session_register("barney");

    // L'utilisation de $_SESSION est encouragée depuis PHP 4.1.0
    $_SESSION["zim"] = "Un envahisseur d'une autre planète.";

  5. #5
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 584
    Points : 265
    Points
    265
    Par défaut
    Ok, j'avais lu un peu vite...

    Merci ca marche nickel et ca m'a permis de corriger quelques bugs.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/07/2008, 11h53
  2. Option Sécurité dans les propriétés des fichiers?
    Par kirout dans le forum Windows XP
    Réponses: 2
    Dernier message: 12/02/2008, 22h19
  3. [Sécurité] La sécurité et les sessions
    Par [BkM-) dans le forum Langage
    Réponses: 3
    Dernier message: 12/08/2007, 22h34
  4. [Forms9i] - Sécurité dans les menus
    Par radoara dans le forum Forms
    Réponses: 5
    Dernier message: 05/12/2006, 07h20
  5. [Sécurité] Crypte les sessions
    Par amazircool dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2006, 15h58

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