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 :

[SQL CONNECT] Cacher son mot de passe ?


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut [SQL CONNECT] Cacher son mot de passe ?
    Bonsoir !

    Je suis tout débutant en PHP/MySQL, et mon premier problème (sûrement pas le dernier ) vient de la connexion à la base de données.

    J'utilise, dans un script PHP :
    $connexion = mysql_connect("mysql.mabase","login","passwd");

    Pour l'instant je n'ai qu'un seul script : il vérifie qu'un pseudo n'existe pas déjà dans la base (mais apres bien sur d'autres scripts pour : ajouter un membre, etc etc)

    Mais j'ai lu sur un site qu'il fallait surtout pas mettre son mot de passe MySQL dans le script PHP, ce que je peux sans doute comprendre.

    Alors d'où ma question : si on met pas notre mot de passe de connexion à la BDD dans le script PHP, on le met ou ? (histoire que ce soit sécurisé et que le 1er pirate amateur vienne pas pourrir mon site )

    Merci de votre aide

    Lideln

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    alors deja, faut pas etre un pirate amateur pour trouver ton mot de passe, meme ecrit en clair dans ton code php... mais ca reste faisable.

    Une bonne solution consiste a :

    * creer un repertoire "secure" (ou un autre nom) dans ton arborescence web
    * creer dans ce repertoire 2 fichiers :
    ° un fichier nommé ".htaccess" contenant juste la phrase "Deny from all"
    ° un fichier nommé "config.php" (ou un autre nom) contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $SQLhost = 'localhost';
    $SQLpass= 'ton_pass';
    $SQLlogin= 'ton_login';
    ?>
    Puis, au lieu de faire mysql_connect(...), tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include('secure/config.php');
    mysql_connect($SQLhost, $SQLlogin, $SQLpass) or die(mysql_error());
    L'avantage est que ton mot de passe est toujours "en clair" dans le code (dans le fichier config.php) mais il est protégé par un .htaccess qui est la protection la plus bas niveau que tu puisse mettre (.htaccess est géré par le serveur web).
    Pour t'en convaincre, il suffit d'aller sur http://tonsite.com/secure/ et tu obtiendras un beau message d'erreur comme quoi tu n'a pas le droit d'acceder a ce repetoire (cela est provoqué par le .htaccess)

  3. #3
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    ou mieux, tu mets le fichier config dans un repertoire en dessous de la racine de ton site.
    Comme ca, pas d'acces par le serveur web.

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par stunti
    ou mieux, tu mets le fichier config dans un repertoire en dessous de la racine de ton site.
    Comme ca, pas d'acces par le serveur web.
    En faisant attention qu'il soit quand même dans le open_basedir de PHP

  5. #5
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    Bien sur

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut Merci :)
    Hello !

    Merci pour vos réponses !
    Je vais faire ca donc, utiliser le deny from all (en fait j'ai tous mes scripts dans un dossier spécial, et j'avais mis ce .htaccess, mais quand j'ai appelé le script depuis flash, impossile d'y accéder snif, normal me direz vous ^^)

    Merci encore (j'ai pas capté le truc de open_basedir mais bon dans l'ensemble sinon voui )

    A+ pour de nouvelles questions

    Bonne journée,

    Lideln

    ps : Eusebius impec ton avatar...

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

Discussions similaires

  1. cacher les mots de passes...
    Par youp_db dans le forum C
    Réponses: 7
    Dernier message: 21/10/2005, 00h06
  2. forms 9i, reports 9i; URL : cacher le mot de passe
    Par freba dans le forum Reports
    Réponses: 3
    Dernier message: 17/07/2005, 23h45
  3. [IB] Autoriser 1 user à changer son mot de passe
    Par qi130 dans le forum InterBase
    Réponses: 7
    Dernier message: 01/02/2005, 14h09
  4. Comment cacher un mot de passe ?
    Par benxitd dans le forum Windows
    Réponses: 2
    Dernier message: 02/12/2004, 10h59
  5. [debutant] cacher un mot de passe
    Par Shooter dans le forum Composants
    Réponses: 5
    Dernier message: 13/07/2004, 12h17

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