Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Membre émérite Avatar de redoran
    Homme Profil pro Redouane Hamadouche
    Développeur-Amateur
    Inscrit en
    juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Nom : Homme Redouane Hamadouche
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2010
    Messages : 1 346
    Points : 881
    Points
    881

    Par défaut Protection de la chaine de connexion en PHP

    Salut ; on lisant les démarche a suivre pour sécurisé son application web , un passage faisant état de sécurisé sa connexion sans donné un exemple.
    alors je me demande comment peut-on sécurisé une chaine de connexion PDO ?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
    // On se connecte à la bdd
    try
    {
    $PARAM_hote='localhost'; // le chemin vers le serveur
    $PARAM_nom_bd='bddd'; // le nom de votre base de données
    $PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter a modifier
    $PARAM_mot_passe='gladiator'; // mot de passe de l'utilisateur pour se connecter a modifier
    // connexion marche très bien avec affichage de msg erreure
     
    // Options de connexion
    $options = array
    (
    PDO::MYSQL_ATTR_INIT_COMMAND    => "SET NAMES utf8" ,  // indiquer à MySQL que echanger nos données en UTF8.
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION , 
    PDO::ATTR_PERSISTENT => true);
     
     
    $cbd = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe , $options  );
    }
     
    catch(PDOException $e)
    {
    echo 'Une erreur de connexion est survenue !'; $e->getMessage();
    die();
    }
     
    ?>

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 773
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 13 773
    Points : 22 995
    Points
    22 995

    Par défaut

    Si le répertoire où se trouvent les informations de connexion est protégé contre les intrusions externes, ça me semble suffisant.

    D'une manière générale, les parties contrôleur et modèle sont à protéger rigoureusement et seule la partie vue est accessible au serveur Web (Apache par exemple). C'est le dispatcher appelé par le fichier d'index du site qui se charge d'orienter vers le programme à utiliser en fonction de l'url tapée. Si je me souviens bien, c'est le principe utilisé par Zend Framework (version 1.7 à 1.10 avec lesquelles j'avais travaillé un peu il y a deux ans).
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre émérite Avatar de redoran
    Homme Profil pro Redouane Hamadouche
    Développeur-Amateur
    Inscrit en
    juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Nom : Homme Redouane Hamadouche
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2010
    Messages : 1 346
    Points : 881
    Points
    881

    Par défaut

    Salut ; le code ci-dessus est dans un fichier a part dans un répertoire nommé et protégé par .htaccess .


    D'une manière générale, les parties contrôleur et modèle sont à protéger rigoureusement et seule la partie vue est accessible au serveur Web (Apache par exemple).
    je ne suis pas encore au MVC.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro Olivier
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 075
    Points : 6 878
    Points
    6 878

    Par défaut

    Par principe je mettrais les infos de connexions dans un fichier à part qui se trouverais en dehors de la racine web (donc pas accessible via http) et non accessible via ftp.

    Un fichier dans un dossier protégé par un htaccess est non accessible mais reste sensible à une erreur de manipulation (genre suppression du htacess)
    Pry Framework php5

  5. #5
    Membre émérite Avatar de redoran
    Homme Profil pro Redouane Hamadouche
    Développeur-Amateur
    Inscrit en
    juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Nom : Homme Redouane Hamadouche
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2010
    Messages : 1 346
    Points : 881
    Points
    881

    Par défaut

    Excuse mon ignorance mais:
    Par principe je mettrais les infos de connexions dans un fichier à part qui se trouverais en dehors de la racine web (donc pas accessible via http) et non accessible via ftp.
    tu veut dire que:
    Dossier mon application/
    index.php
    répertoire.js
    répertoire.css
    répertoire images
    Dossier connexion/
    fichier connexion

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro Olivier
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 075
    Points : 6 878
    Points
    6 878

    Par défaut

    Par exemple oui.

    Admettons sous windows , la racine web est : D:/www et bien tu place ton fichier par exemple dans E:/connexions/
    Pry Framework php5

  7. #7
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 773
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 13 773
    Points : 22 995
    Points
    22 995

    Par défaut

    Un peu radical quand même !

    Voici l'arborescence dans Zend Framework 1.12 :
        quickstart
        |-- application
        |   |-- Bootstrap.php
        |   |-- configs
        |   |   `-- application.ini
        |   |-- controllers
        |   |   |-- ErrorController.php
        |   |   `-- IndexController.php
        |   |-- models
        |   `-- views
        |       |-- helpers
        |       `-- scripts
        |           |-- error
        |           |   `-- error.phtml
        |           `-- index
        |               `-- index.phtml
        |-- library
        |-- public
        |   |-- .htaccess
        |   `-- index.php
        `-- tests
            |-- application
            |   `-- bootstrap.php
            |-- library
            |   `-- bootstrap.php
            `-- phpunit.xml
    Et voici le vhost qui détermine l'accès à l'application web :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        <VirtualHost *:80>
            ServerName quickstart.local
            DocumentRoot /path/to/quickstart/public
     
            SetEnv APPLICATION_ENV "development"
     
            <Directory /path/to/quickstart/public>
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
            </Directory>
        </VirtualHost>
    On voit que la racine du site est le répertoire "public" qui ne contient que .htaccess et index.php. Tout le reste peut être protégé.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro Olivier
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 075
    Points : 6 878
    Points
    6 878

    Par défaut

    Citation Envoyé par CinePhil Voir le message
    Un peu radical quand même !
    On est d'accord , c'était pour illustrer clairement le propos
    Pry Framework php5

  9. #9
    Membre émérite Avatar de redoran
    Homme Profil pro Redouane Hamadouche
    Développeur-Amateur
    Inscrit en
    juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Nom : Homme Redouane Hamadouche
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2010
    Messages : 1 346
    Points : 881
    Points
    881

    Par défaut

    Re ; Zend Framework c'est du Big pour moi qui est en NOTEPAD ( tous a la main)
    @ grunk
    Admettons sous windows , la racine web est : D:/www et bien tu place ton fichier par exemple dans E:/connexions/
    Est ce que y a un tutoriel sur le déploiement d'une application sur un serveur ?
    sa m'aiderai a comprendre l'installation et le fonctionnement d'une application ainsi de comprendre au mieux la sécurité surtout par rapport au fichier sensible. merci

  10. #10
    Membre Expert
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 351
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 351
    Points : 2 463
    Points
    2 463

    Par défaut

    Bonsoir,
    En fait à moins d'êtres sur un serveur dédié (à toi) tu auras du
    mal à réaliser ce placement dans un répertoire autre.
    Tu peux le contrôler avec ton FTP s’il te laisse accéder a ton site ou a tous les répertoires cg-bin etc

    Mais ta version de ton premier message est essentiel et parfait, car le TRY cache le message SQL d'erreur qui est souvent le cas en cas de panne SQL
    "erreur connections pour "durand" mot de passe "xxxx" base "labase

    Donc pour moi c'est parfait
    Christele

  11. #11
    Membre éclairé
    Homme Profil pro Thomas Dutrion
    Développeur Web
    Inscrit en
    février 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Dutrion
    Âge : 26
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2009
    Messages : 257
    Points : 372
    Points
    372

    Par défaut

    Citation Envoyé par christele_r Voir le message
    Bonsoir,
    En fait à moins d'êtres sur un serveur dédié (à toi) tu auras du
    mal à réaliser ce placement dans un répertoire autre.
    Cette affirmation est assez fausse... En parlant des plus connus en France, OVH, 1&1 et Amen, chez les 3 j'arrive à installer des projets ZF et Symfony en gardant la structure apache sur www|public|public_html.

    Soit ils proposent un répertoire www, public ou public_html par défaut, soient ils proposent un système comme pour les sous domaines chez OVH ou tu choisis le pointage. J'avais fait un article sur mon blog pour une config propre chez OVH.

  12. #12
    Membre Expert
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 351
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 351
    Points : 2 463
    Points
    2 463

    Par défaut

    Citation Envoyé par Théocrite Voir le message
    Cette affirmation est assez fausse...
    Tu lis mal , je n'ais jamais écrit que des serveurs ne le proposaient pas
    Bon pas grave cela te permet de préciser les choses
    Christele

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •