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é] Question sur les sessions


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut [Sécurité] Question sur les sessions
    Slu

    si je stocke dans la variable de session l id du membre ... est ce que cela est suffisant pour l identifie sur l ensemble des pages reservé aux membres ?

    thx @+

  2. #2
    Invité
    Invité(e)
    Par défaut


    si les register_globals sont à Off, l'utilisateur ne peut pas changer la variable de session, donc ça me parait suffisant...

    maintenant si d'autres ont vu des cas où ce n'etait pas suffisant, je suis preneur, car moi c'est ce que j'utilise comme technique...

    tu peux aussi te referer à ce thread

  3. #3
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    Citation Envoyé par torvalds17


    si les register_globals sont à Off, l'utilisateur ne peut pas changer la variable de session, donc ça me parait suffisant...

    maintenant si d'autres ont vu des cas où ce n'etait pas suffisant, je suis preneur, car moi c'est ce que j'utilise comme technique...

    tu peux aussi te referer à ce thread
    ahhh ... il faut que je mette register_globals a off pour que le visiteur du site ne puisse pas modifie les variables globales (donc la variable SESSION) ... c bien cela ??

    comment est ce que je mets register_globals a off ?

    thx

  4. #4
    Invité
    Invité(e)
    Par défaut
    regarde dans ton phpinfo() si c'est le cas... souvent ça depend de l'hebergeur, et on ne peut pas y toucher...

  5. #5
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    Citation Envoyé par torvalds17
    regarde dans ton phpinfo() si c'est le cas... souvent ça depend de l'hebergeur, et on ne peut pas y toucher...
    ok ...

    donc si je ne px pas modifie register_global (et si je px comment on fait) sur l hebergeur je dois a chaque accés a une page reserve au membre verifie dans la base de donnée si l utilisateur est correcte ?

  6. #6
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, tu peux jeter un oeil ici : http://matthieu.developpez.com/authentification/#L4

    Bon développement
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  7. #7
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    Citation Envoyé par Nesmontou
    Salut, tu peux jeter un oeil ici : http://matthieu.developpez.com/authentification/#L4

    Bon développement
    thx mais ca ne reponds pas a ma question

  8. #8
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Je ne sais pas trop ce que font les autres mais perso dans un accès restreint je stocke user+mdp et je réidentifie de manière transparente un utilisateur sur toutes ces pages.

    C'est un peu plus securiser que l'id mais sa ne réponds pas aux critères de vols d'identifiant de session.

    Pour cela, il faut regenerer l'id à chaque page, et imposer une duree de vie à ces sessions.
    Du moins c'est ce qu'il en ressort de ce que j'ai pu lire sur l'article proposé par Nesmontou.

  9. #9
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    Citation Envoyé par ePoX
    Je ne sais pas trop ce que font les autres mais perso dans un accès restreint je stocke user+mdp et je réidentifie de manière transparente un utilisateur sur toutes ces pages.

    C'est un peu plus securiser que l'id mais sa ne réponds pas aux critères de vols d'identifiant de session.

    Pour cela, il faut regenerer l'id à chaque page, et imposer une duree de vie à ces sessions.
    Du moins c'est ce qu'il en ressort de ce que j'ai pu lire sur l'article proposé par Nesmontou.
    une autre soluce ... donc a chaque changement de page tu verifies, ds la bdd, le login et le mdp ?
    le mdp en md5 biensur ?

  10. #10
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    une autre soluce ... donc a chaque changement de page tu verifies, ds la bdd, le login et le mdp ?
    oui, et qu'on me sorte pas que sa impacte sur la rapidité d'une application

    le mdp en md5 biensur ?
    bof non pour une toute simple raison : md5 n'est pas encore reversible (tant mieux), mais cela empeche une fonction pour retrouver les mdp oubliés.

    Ceci dit, si tu cryptes les mots de passes et que la sécurité de ta base de donnée est compromise, à quoi sa sert de les avoir crypté ???

    Je veux dire, prenons le cas d'un textebox mal protéger permettant à un attaquant d'executer des requetes en lecture (cas d'école).
    En quoi le fait d'avoir crypter les mdp de mes clients rends leurs informations mieux sécurisée ??????

    Ou alors,

    Imaginons un brute force sur mon script de connexion, en quoi le fait d'avoir crypter les mdp de mes clients rends leurs informations plus sécurisée ???

    ....

    bye

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 310
    Points : 393
    Points
    393
    Par défaut
    Citation Envoyé par ePoX
    bof non pour une toute simple raison : md5 n'est pas encore reversible (tant mieux), mais cela empeche une fonction pour retrouver les mdp oubliés.
    Pour retrouver un mot de passe oublié, tu génères un nouveau mot de passe et tu l'envoies à l'utilisateur par courriel. L'utilisateur pourra ensuite modifier son mot de passe.

  12. #12
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Oue sa réponds pas vraiment àl'objectif qui était de retrouver un mdp oublié.

  13. #13
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  14. #14
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    le register_global se configure dans le php.ini

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    ePoX : j'ai déjà répondu à ce point il y a quelques jours : un très grand nombre d'utilisateurs utilisent le même mot de passe partout (au boulot, pour le compte en banque, sur le PC perso, sur les sites internet, sur les boites mails, etc).

    Par conséquent même si pour toi ça ne change rien (une fois le site "hacké", tu n'es plus à ça pres), pour tes visiteurs ça peut changer beaucoup de choses. Donc par simple respect pour tes utilisateurs, il me semble évident que le mot de passe stocké ne doit pas être décryptable.
    Google is watching you !

  16. #16
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Généralement tu ne stockes que la hash md5 - il me semble qu'il y a un tutos à ce propos sur le sitE.

    Le mieux est de le crypter directement avec un javascript dans le formulaire de login avant de l'envoyer sur le serveur.

    Dans la base tu ne stocke qu'un hash md5 que tu compares avec le hash envoyé par le client.

    Je suis d'accord avec kioob - il vaut mieux rénitialisé le pass que de pouvoir le lire.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Citation Envoyé par ePoX
    Je ne sais pas trop ce que font les autres mais perso dans un accès restreint je stocke user+mdp et je réidentifie de manière transparente un utilisateur sur toutes ces pages.

    C'est un peu plus securiser que l'id mais sa ne réponds pas aux critères de vols d'identifiant de session.

    Perso je ne vois pas du tout ce que cela apporte de plus à la session : le mot de passe ne va certainement pas changer durant la durée de la session, et avant de stocker l'id en session je suppose que tu as vérifié ce fameux mot de passe...
    En multipliant les lieux de stockage du mot de passe (en plus non crypté), pour moi cela ne fait qu'augmenter le risque de vol.

    Je n'irais pas te dire que cela ralenti le site, je suppose que tu sais ce que tu fais.




    Citation Envoyé par MacReiben
    le register_global se configure dans le php.ini
    pas seulement ; tu peux aussi le changer via un fichier .htaccess par exemple (http://fr.php.net/manual/fr/configuration.changes.php).
    Google is watching you !

  18. #18
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    le mot de passe ne va certainement pas changer durant la durée de la session
    C'est pourtant bien pour cela.

    ePoX : j'ai déjà répondu à ce point il y a quelques jours : un très grand nombre d'utilisateurs utilisent le même mot de passe partout (au boulot, pour le compte en banque, sur le PC perso, sur les sites internet, sur les boites mails, etc).

    Par conséquent même si pour toi ça ne change rien (une fois le site "hacké", tu n'es plus à ça pres), pour tes visiteurs ça peut changer beaucoup de choses. Donc par simple respect pour tes utilisateurs, il me semble évident que le mot de passe stocké ne doit pas être décryptable.
    C'est bien la seule raison, je vais pas rétorquer sa ne ménerai pas loin, c'est chacun voit cela comme il le veut et selon ces contraintes, même si dans l'absolu ton raisonnement est plus sécure pour l'utilisateur.

    En multipliant les lieux de stockage du mot de passe (en plus non crypté), pour moi cela ne fait qu'augmenter le risque de vol.
    la je ne vois pas trop à quoi ou tu veux en venir puisque la session est sauvegardée sur le serveur.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Citation Envoyé par ePoX
    le mot de passe ne va certainement pas changer durant la durée de la session
    C'est pourtant bien pour cela.
    Effectivement... mais je ne pense pas que cela en vaille le coup. Mais c'est un choix.


    C'est bien la seule raison, je vais pas rétorquer sa ne ménerai pas loin, c'est chacun voit cela comme il le veut et selon ces contraintes, même si dans l'absolu ton raisonnement est plus sécure pour l'utilisateur.
    merci


    En multipliant les lieux de stockage du mot de passe (en plus non crypté), pour moi cela ne fait qu'augmenter le risque de vol.
    la je ne vois pas trop à quoi ou tu veux en venir puisque la session est sauvegardée sur le serveur.
    Typiquement : la base de données est un lieu de stockage relativement "sécurisé" ; mais les sessions, selon l'hebergeur ne le sont pas forcément. En mutualisé elles sont malheureusement souvent accessibles aux autres clients.

    En cas de faille de sécurité dans un script, il est beaucoup plus facile de faire un "print_r( $_SESSION )" que de se connecter à la base de données, et faire un SELECT dans la bonne table.

    En cas de débugage : un "print_r( $_SESSION )" peut avoir été utilisé et oublié pour le débugage dans un script du site... voir même dans un script "externe". Du coup un truc aussi annodin devient un vrai danger.

    => ce n'est pas forcément fréquent, mais pour moi c'est prendre des risques inutilement.
    Google is watching you !

  20. #20
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    la base de données est un lieu de stockage relativement "sécurisé" ; mais les sessions, selon l'hebergeur ne le sont pas forcément. En mutualisé elles sont malheureusement souvent accessibles aux autres clients.
    uh ? Comment c'est possible ca ?

Discussions similaires

  1. [Sécurité] Question sur les mots de passes
    Par wallawalla dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 17h51
  2. [Sécurité] Une question sur les sessions PHP
    Par DaRiaN dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2006, 09h36
  3. [Sécurité] Questions sur les vérifications
    Par Alain15 dans le forum Langage
    Réponses: 24
    Dernier message: 03/05/2006, 08h46
  4. Question sur les sessions ?
    Par Wu dans le forum Langage
    Réponses: 7
    Dernier message: 15/02/2006, 15h32

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