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

PHP & Base de données Discussion :

Sécurisation authentification base de données


Sujet :

PHP & Base de données

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut Sécurisation authentification base de données
    Bonsoir,

    Quelle est la bonne méthode pour garder une connexion à une base de données après authentification ?

    une variable session informant que l'authentification a réussi suffit ?

    Merci pour vos retours.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  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
    La connexion a la base de donnée est détruite à la fin du script.
    La session PHP permet de garder l'information que l'utilisateur est connecté mais il faut refaire la connexion pour chaque page.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut
    Après saisie login/mot de passe, je compare les résultats avec la table utilisateurs de ma base (le contenu des champs devant être contrôlés avant utilisation dans la requête SQL). Si les valeurs concordent, je crée une variable dans la session en évitant bien entendu un nom tel que authentifie ou acces_ok. Sur les autres pages, je vérifie cette variable avant accès aux données sur les autres tables.

    C'est ok ? ou pas suffisant ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  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
    Tu peux donner le nom et la valeur que tu veux à ta variable de session, il n'y a pas d'enjeu de sécurité de ce côté la.
    Sinon le principe est bien celui là oui.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ je ne sais pas si c'est ce que tu fais déjà, mais idéalement, on n'enregistre pas les mots de passe "en clair" dans la BdD.



    2/ Pour un user connecté, on met au minimum dans une variable de SESSION son identifiant (id auto-incrémenté en BdD), qui est unique.
    On peut mettre aussi son nom ou pseudo, mais jamais de données "sensible" (mot de passe, age pour les femmes, ...)

  7. #7
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut
    Mes mots de passe sont enregistrés dans la BDD en sha1. Je n'utilise pas les fonctions que tu as donné.

    Le mot de passe saisi est copié dans une variable récupéré du POST, j'applique la fonction sha1 dessus, puis je compare avec le résultat récupéré dans la BDD.

    Est-ce pertinent que j'utilise les fonctions que tu as cité ?Je penses que ça revient plus ou moins au même.

    Pour le moment, je n'ai pas besoin d'identifier l'utilisateur, mais juste qu'il est autorisé à accéder, j'utiliserais sinon effectivement son id si nécessaire.

    Pour l'age des femmes tu encode en système vicésimal et t'es tranquille
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  8. #8
    Invité
    Invité(e)
    Par défaut
    Voir :

    Note: Secure password hashing
    It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm.
    See here for details.
    Pourquoi les fonctions traditionnelles de hashage comme md5() et sha1() sont-elles inappropriées aux mots de passe ?

    Les algorithmes de hashage comme MD5, SHA1 et SHA256 sont destinés à être rapides et efficaces. Avec les équipements informatiques modernes, il est devenu facile d'attaquer par force brute la sortie de ces algorithmes pour retrouver la chaîne originale.

    C'est la raison pour laquelle de nombreux experts en sécurité considèrent ces algorithmes comme faibles et les déconseillent fortement pour hasher un mot de passe utilisateur.
    Alors, comment hasher mes mots de passe ?
    [...]
    Sachant que la fonction password_verify() le fera pour vous, vous êtes vivement encouragé à utiliser l'API native de hashage de mots de passe lorsque vous le pouvez.

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

Discussions similaires

  1. [ODBC] Sécuriser une base de données Access via une interface en PHP
    Par maraly dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/08/2007, 08h49
  2. Sécuriser une base de donne access
    Par jeha dans le forum Sécurité
    Réponses: 8
    Dernier message: 06/10/2006, 10h28
  3. Sécuriser la base de données (groupes/usagers)
    Par mathias dans le forum Sécurité
    Réponses: 1
    Dernier message: 03/10/2006, 08h58
  4. Sécuriser la base de données?
    Par jessy212 dans le forum Sécurité
    Réponses: 4
    Dernier message: 06/09/2006, 14h00
  5. Sécuriser une base de donnée
    Par Waluigi dans le forum Sécurité
    Réponses: 1
    Dernier message: 30/05/2006, 10h48

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