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

Sécurité Discussion :

Sécurité ficher de connexion à la base de données


Sujet :

Sécurité

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut Sécurité ficher de connexion à la base de données
    Bonjour,

    Je me pose une question sur la sécurité du fichier PHP qui sera utilisé pour la connexion à la BD dans le cas d'un site un web.

    En effet dans le script de connexion ci-dessous. je suis obligé d'entrer le mot de passe de MySql dans le fichier sans le cripter.
    Alors 2 questions se posent :
    - puisque ce script vont aller sur mon serveur, est-ce qu'il n'ai pas possible que quelqu'un accéde à mon script et donc accède donc facilement au mot de passe de ma BD.
    - comment faire pour éviter cela

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $db_host = "localhost";
    $db_username = "put_db_username_here"; 
    // Place the password for the MySQL database here
    $db_pass = "put_db_password_here";
    // Place the name for the MySQL database here
    $db_name = "put_db_name_here";
    mysql_connect("$db_host","$db_username","$db_pass") or die(mysql_error());
    mysql_select_db("$db_name") or die("no database by that name");
    ?>

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    - utiliser un utilisateur avec des droits restreins
    - protéger l'accès à tes fichiers via htaccess
    - ne pas utiliser des noms de fichiers trop "bateau"
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    iser un utilisateur avec des droits restreins
    Donc dans ce cas, tu veux dire que je dois créer un usager autre que root à qui je donnerait que des droits de sélection, recherche, création, suppression? (puisque un usager peut normalement rechercher, ajouter un message, le supprimer) Mais donc finalement ça sera quoi l'avantage puisque il fait ce que root fait.

    protéger l'accès à tes fichiers via htaccess
    Ok donc si j'inclut un fichier .htaccess avec ce code, Tous mes fichiers déposés dans le repertoire web ne seront plus accessible via internet?
    (pour info l'arichitecture de mon repertoire est
    -www
    - .htaccess
    - index.php
    - script
    - (tous mes script php)
    - css
    - (tous mes script css)
    - images
    - (toutes mes images)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <Files .htaccess> order allow,deny deny from all </Files>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^monsiteweb\.com
    RewriteRule ^(.*)$ http://www.monsite.com/$1 [R=permanent,L]

    ne pas utiliser des noms de fichiers trop "bateau"
    J'ai pas trop compris cela.

    Encore une foi, merci beaucoup pour votre support

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Donc dans ce cas, tu veux dire que je dois créer un usager autre que root à qui je donnerait que des droits de sélection, recherche, création, suppression? (puisque un usager peut normalement rechercher, ajouter un message, le supprimer) Mais donc finalement ça sera quoi l'avantage puisque il fait ce que root fait.
    il y a une nuance entre root et utilisateur. ton root à tous les droits sur toutes les bases et tables de ton serveur. alors qu'utiliser un utilisateur spécifique te permet de limiter la casse.

    ne pas utiliser des noms de fichiers trop "bateau"
    j'entendais par là de ne pas utiliser des nom de fichier tel que administration, admin, verif_password etc ... ne pas avoir des fichier dont les nom sont trop commun.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je sais c'est lourd, mais voici ma méthode depuis des années sur plusieurs sites ...

    Je vais te détailler commen je fais , aprés tu fais comme tu veux
    1) j'ais un seul php qui contient le login pour tout mon domaine
    2) il est dans un répertoire ou sont plein d'objets divers
    3) le repertoire contient

    un htaccess contenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <Files "monsql.php">
    Order Allow,Deny
    Deny from All
    </Files>
    donc on peut tout voir sauf ce fichier inaccessible !

    un index.php de ce répertoire contenant
    donc ça va te parétre exagéré mais au moins c'est "bordé" dechez "bordé"

    4) TOUT php faisant un include de mes_imagse/monsql.php
    ont
    $chris="******"; JUSTE AVANT L'INCLUDE

    5) monsql.php est ainsi et la tu va voir que pour l'atteindre DURDUR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    if (!isset($chris))
       {
       header('Location: http://www.monsite.com/index.php');
       exit;
       }
       $b=$_SERVER['SERVER_NAME']; // == on est sur le bon serveur ==
    if ( $b=="www.monsite.com" && $chris=="******")
       {
       $Flag1=mysql_connect("localhost","foxchrixxx","*********");
       $Flag2=mysql_select_db("foxie");
       }
       else   {
       $Flag1=mysql_connect("localhost","root","");
       $Flag2=mysql_select_db("local");   }
    ?>
    Tu vois c'est pratiquement inviolable

    Bien sur j'ais la version PDO dito
    Dernière modification par Invité ; 17/08/2010 à 14h43.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/08/2008, 19h41
  2. Réponses: 3
    Dernier message: 18/08/2006, 08h52
  3. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  4. Echec lors de la connexion à la base de données.
    Par mclown dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 26/10/2004, 23h36
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

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