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 :

[Cookies] Case à cocher "souvenez vous de moi"


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [Cookies] Case à cocher "souvenez vous de moi"
    Bonjour.

    J'ai créé un site où les membres doivent s'identifier pour accéder à certaines fonctions.

    Les utilisateurs sont stockés dans une table mysql sous forme de pseudonyme + mot de passe crypté md5.

    Lorsque l'utilisateur s'identifie, apres vérification du mot de passe, deux variables de SESSION sont posées :
    - une variable disant "utilisateur_connecte"
    - une variable avec le pseudo de l'utilisateur.

    Je voudrais rajouter un bouton "Souvenez vous de moi", tel sur le formulaire d'identification de ce forum, pour que l'utilisateur n'ait pas à taper ses identifiants à chaque fois.

    Mon site n'est pas "sensible", mais n'ayant pas de connaissance dans le domaine sécurité, je ne voudrais quand meme pas laisser une grosse faille.

    Je suppose que la mémorisation se fait dans un cookie dans lequel on met le pseudo de l'utilisateur, et son mot de passe crypté en md5 ?

    Merci d'avance pour vos conseils.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Mettre un mot de passe, même crypté, dans un cookie, est selon moi une erreur. Je sais bien que certains forum pratiquent cette méthode, mais ça reste une faille selon moi. En effet, vu que beaucoup d'utilisateurs utilisent le même mot de passe sur plusieurs site web, il suffit de récupérer cette chaine cryptée pour ensuite pouvoir s'y connecter...

    Une solution serait de générer une clé aléatoire (et donc non liée au mot de passe), que tu pourrais sauvegarder à la fois dans ta table membres, et dans un cookie... A la connexion, tu vérifies la concordance des données. Le principe reste donc le même, mais reste selon moi plus sécurisé (dans la mesure ou cette clé est différente selon les sites web).

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Merci pour cet avis.

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut

    l'utilisation de cookie est une bonne methode,
    il suffit juste qu' a des moments aléatoire, dans ton site, tu redemandes a l'utilisateur son mot de passe,

    cette pratique est utilisé par beaucoup de site web ...google, ebay, paypal, yahoo...
    ensuite au moment tu cryptages de ton mot de passe dans le cookie, tu peux le couplé avec une "clef privé". (nécessaire pour un minimun de sécurité) ca rend le cookie utilisable seulement sur ton site.

    sahid

  5. #5
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    en tout cas évite de faire ca pour les admins.
    Le fait de redemander le mot de passe ne sert à rien à mon avis, ici le problème c'est le vol de cookie (spoofing, XSS, etc)
    Vive les roues en pierre

  6. #6
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Citation Envoyé par Djakisback
    Salut,
    Le fait de redemander le mot de passe ne sert à rien à mon avis, ici le problème c'est le vol de cookie (spoofing, XSS, etc)
    si tu arrives a trouver le mot de passe à partir d'un hach md5, chapeau (:

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Que tu le cryptes ou non il me semble que le principe est le même, tu fais ta comparaison des 2 md5 (celui du client et celui de la BDD), donc si tu récupères un cookie avec un mdp même crypté, t'es censé pouvoir l'utiliser, et à aucun moment t'as besoin de le décrypter, par exemple sur un forum :

    1er cas, t'envoies le pass en clair :
    - md5(passClairClient) == passCryptéBDD

    2e cas, en crypté :
    - passCryptéClient == passCryptéBDD

    Si un autre membre du forum récupère le cookie, dans le 1er comme dans le 2e il suffit qui remplace les valeurs de son propre cookie par celle qu'il a récupérées.
    Dites-moi si je me trompe ^^

    Paypal and compagnie, ils transitent les données en HTPPS donc le risque de vols de cookie/session est bien moindre.

    En fait, si, le fait de redemander le mot de passe je pense que ca peut servir mais uniquement si tu regèneres une nouvelle clé privée, comme tu disais.
    Vive les roues en pierre

  8. #8
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    si tu cherches à recuperer le cookie d'un utilisateur par une faille xss, je vois pas en quoi https va tant empecher ?


    ensuite tu te trompes une des raisons pour laquelle dans des sites comme google ou ebay ... on redemande le mot de passe dans une zone sencible, c pour eviter le vol de cookie.

  9. #9
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    1) Je pense pas que tu puisses récupérer un cookie de zone htpps avec JS, sinon c'est grave (au pire tu pourras pas l'utiliser sans la clé).

    2) c'est justement parce qu'ils utilisent https qu'il y a un intérêt à redemander le mot de passe (sniffing).
    Vive les roues en pierre

  10. #10
    Invité2
    Invité(e)
    Par défaut
    C'est possible d'avoir une explication pour faire apparaitre cette fameuse case a cocher ?^^
    Ca me serait bien pratique, lourd de s'en cesse s'authentifier

  11. #11
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    quel est le point particulier qui te pose problème ?
    Le principe c'est de créer un cookie avec setcookie() quand tu as authentifié l'utilisateur. Pour tester l'existence d'un cookie il suffit de faire if(isset($_COOKIE['nom_cookie'])) donc sur ta page tu peux faire :

    if(isset($_COOKIE['nom_cookie'])) {
    echo '<input type="text" name="log" value="'.$_COOKIE['nom_cookie'].'">';
    }

    Tu peux également faire un cookie pour le login et un autre pour le mot de passe ce qui acrroît un peu la sécurité (couplé à la dite clé aléatoire ca peut commencer à être pas mal).
    Bye
    Vive les roues en pierre

Discussions similaires

  1. JSP + Cookies + cases à cocher
    Par sawritta dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 20/04/2012, 16h30
  2. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  3. case à cocher dans cookies
    Par franfr57 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 13h32
  4. Activer cases à cocher
    Par schnito dans le forum MFC
    Réponses: 4
    Dernier message: 24/01/2004, 16h07
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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