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écurité utilisateur MySql avec PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut Sécurité utilisateur MySql avec PHP
    Bonjour,
    J'ai une base de données PHP 5.2.6 MySql 5.0.51b Apache 2.2.8.
    J'utilise une page qui permet d'authentifier les utilisateur de cette base.
    Les utilisateurs sont directement ceux de MySql
    Le nom et le mot de passe est enregistré dans des variables de sessions, mais en clair. Et j'utilise un script php qui est appelé dans chaque page, ce qui permet de faire la connexion avec MySql avec ces variables

    Mon problème c'est que niveau sécurité c'est pas terrible.

    J'essaye de ne pas mettre d'utilisateurs est mot de passe dans le fichier de connexion, car je voudrais gérer les utilisateurs directement avec MySql.

    Donc ma question est de savoir comment chiffrer mon mot de passe en variable de session et que MySql le prenne en compte ?

    Merci par avance

  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
    Par défaut
    Mon problème c'est que niveau sécurité c'est pas terrible.
    Pourquoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut
    Car si je fait $_SESSION['mdp'], j'ai le mot de passe en clair.
    Il est peut être possible qu'une personne malveillante, puisse récupérer cette variable ou alors en sniffant le réseau, il puisse découvrir, le mot de passe
    non

  4. #4
    Membre expérimenté Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Par défaut
    Crypte le en md5 lorsque tu définit ta session par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SESSION['mdp'] = md5($mdp);
    Comme sa il sera indécryptable mais toi sa changeras pas grand chose à ton appli

  5. #5
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut
    Le problème c'est que MySql, l'accepte pas les mot de passe crypté en direct
    Car si je mets le mot de passe dans $_SESSION["mdp"] c'est que je doit l'utiliser pour le script de connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $db=mysql_connect($db_host,$_SESSION["user"],$_SESSION["mdp"]) or die("Pas accès à la base !!!");
    mysql_select_db($database,$db) or die ("erreur de selection base de donnée");

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Pourquoi ne pas utiliser un espace membre ou un système d'identification avec htaccess ?

    http://cchatelain.developpez.com/art...e/htaccess/#L2

  7. #7
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Il est peut être possible qu'une personne malveillante, puisse récupérer cette variable ou alors en sniffant le réseau, il puisse découvrir, le mot de passe
    Ba de toute facon si on en est la, il peut tout aussi bien usurper la session php entiere ou recuperer le mot de passe quand il est envoyé lors de la connexion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Car si je mets le mot de passe dans $_SESSION["mdp"] c'est que je doit l'utiliser pour le script de connexion :
    On peut tout aussi bien stocker le hash du mot de passe dans la base de donnée.
    Ainsi le mot de passe n'existe nul part.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut
    Pourquoi ne pas utiliser un espace membre ou un système d'identification avec htaccess ?
    En fait je récupère l'identifiant et le mot de passe pour se connecter à mysql, donc je ne pense pas que je puisse le faire.

    On peut tout aussi bien stocker le hash du mot de passe dans la base de donnée.
    Ainsi le mot de passe n'existe nul part.
    Oui mais pour se connecter à la base de données pour récupérer le mot de passe, il faut un identifiant est mot de passe.

    Je pense que le plus simple est de mettre le base de données en https quand l'on se connecte de l'extérieur est en http normal, quand la base est consulté sur le réseau local

  9. #9
    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
    Par défaut
    C'est pourtant en local qu'il est plus facile de sniffer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut
    C'est pourtant en local qu'il est plus facile de sniffer.
    Donc il vaudrait mieux qui je passe la base complète en HTTPS ?

  11. #11
    Membre très actif Avatar de ghost emperor
    Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Septembre 2007
    Messages : 170
    Par défaut
    crypte ton mot de passe en md5 ou sha1 dans la base de données. Ensuite, lorsque l'utilisateur se connecte, tu crypte le mot de passe qu'il a entré avec le même système que le cryptage que tu a utilisé pour ta base de données puis tu comparre les deux clées cryptées.

    si elles sont identiques c'est que l'utilisatur a entré le bon mot de passe.
    Moi j'utilise cela sur mes sites depuis un moment et j'ai jamais eu de problème.

  12. #12
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par ghost emperor Voir le message
    Moi j'utilise cela sur mes sites depuis un moment et j'ai jamais eu de problème.
    +1

    Ecoute donc mon conseil, utilise un espace membre tout simplement.
    Selon moi, c'est la méthode la plus utilisée par les développeurs.

  13. #13
    Membre averti
    Inscrit en
    Août 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2005
    Messages : 39
    Par défaut
    Ok je vais suivre vos conseils merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/01/2007, 11h59
  2. [Sécurité] création .htpasswd avec php
    Par tochbee dans le forum Langage
    Réponses: 5
    Dernier message: 28/09/2006, 16h20
  3. Réponses: 1
    Dernier message: 28/04/2006, 16h17
  4. Importation d'un fichier xml vers une BD mysql avec php
    Par naima2005 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/04/2006, 15h23

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