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

Langage PHP Discussion :

Protection information script php


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut Protection information script php
    Bonjour tout le monde;

    Sur mon temps libre, je m'amuse à créer une petite application qui communique avec une base de données .
    J'ai compris le fonctionnement de communication avec les scripts PHP hébergé sur le serveur qui permet de communiquer avec la BDD et retourne les informations à l'application.
    Mon problème c'est que dans les scripts j'ai dû mettre les informations de connexion à la BDD (login, Mdp ...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $bdd = new PDO('mysql:host=xxxxx;dbname=xxxxxx', 'xxxxxx', 'xxxxxx', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    Je voulais savoir si quelqu'un pouvait m'informer sur la meilleure façon de protéger ces informations.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    En général on stock ce genre d'information dans un fichier de config (ini,json,php,xml ...) qui lui même est placé dans un dossier non accessible par le web .En général il y'a un dossier "www" qui est la racine web et on à la possibilité de créer des dossiers en dehors de cette racine web qui sont impossible à accéder depuis un navigateur , mais toujours accessible par des scripts.

    Il est ensuite chargé par les scripts qui en ont besoin.

    Note : je déplace la discussion coté PHP où tu aura plus de réponses
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    Merci pour ces informations,
    Après des recherches j'ai découvert l'utilité du fichier ".htaccess" pour mon hébergeur ce qui restreint l’accès aux visiteurs pour certains fichiers et plein d'options encore.
    Je pense que je vais créer un fichier .php qui contiendra mes différentes informations. Étant un débutant en php il suffit que je fasse un include de mon fichier pour récupérer mes variables ? J'ai vu que l'on pouvait sinon faire avec le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('location: autrePage.php?var=2');
    ?
    Je suis preneur de bonne pratique .

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

    Il faut en effet inclure le fichier de config, avec include ou require.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Attention aux htaccess qui peuvent potentiellement être ignorée (défaut de config du serveur par exemple) et donc rendre des fichiers accessibles alors qu'ils ne devraient pas.

    La bonne pratique c'est utiliser un dossier en dehors de la racine web. Le htaccess c'est l'alternative si on peut pas faire autrement.

    Étant un débutant en php il suffit que je fasse un include de mon fichier pour récupérer mes variables ?
    Si c'est un fichier PHP oui.
    Pour tout autre type de fichier , il faut aller lire son contenu (avec file_get_contents() par exemple) et éventuellement le parser en fonction du format choisi
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    Merci pour vos réponses !
    Encore un truc ^^ quand le script s’exécute il va donc récupéraient les informations de mon autre fichier (PHP ou non) donc à l’exécution le script aura toutes les informations, mot de passe ... Est-ce qu'à ce niveau une personne pourra récupérer les informations ou non ? S'il réussit à lire le script a l’exécution ( je ne sais pas si c'est faisable) ou autres .
    Pour le htaccess c'est ce que j'ai trouvé pour mon hébergeur (Hostinger) car a par amant il ne m'a pas possible de mettre mes fichiers en dehors du dossier "public HTML" donc j'ai utilisé un code un peu similaire pour exclure l'accès à mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <files monfichier.php>
    order allow,deny
    deny from all
    </files>
    Une autre question aussi ^^ : quand on appele le fichier PHP via l'include celui-ci s'exécute à chaque fois donc que je l'appel ? je pourrai dons faire dedans la connexion à ma base de données directement non ?

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par Badshade23 Voir le message
    Est-ce qu'à ce niveau une personne pourra récupérer les informations ou non ? S'il réussit à lire le script a l’exécution ( je ne sais pas si c'est faisable) ou autres .
    Ton code PHP est "compilé" en bytecode qui est ensuite executé. Donc impossible de voir le contenu du script à l’exécution.
    Citation Envoyé par Badshade23 Voir le message
    Pour le htaccess c'est ce que j'ai trouvé pour mon hébergeur (Hostinger) car a par amant il ne m'a pas possible de mettre mes fichiers en dehors du dossier "public HTML"
    Si quand tu te connectes en ftp tu as un dossier "public_html" essa ide créer un dossier au même niveau. Si c'est possible tu pourras mettr edes fichiers dans ce dossier et il ne seront jamais accessible via un navigateur. Sinon le htacess est une solution alternative.

    Citation Envoyé par Badshade23 Voir le message
    Une autre question aussi ^^ : quand on appele le fichier PHP via l'include celui-ci s'exécute à chaque fois donc que je l'appel ? je pourrai dons faire dedans la connexion à ma base de données directement non ?
    C'est une possibilité , mais attention à ne pas l'inclure plusieurs fois au travers d'include différents , sinon tu vas te retrouver avec plein de connexion à ta base alors qu'une seule aurait suffit
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    Alors j'ai réussi à créer un fichier en dehors du "public HTML" qui ne sera pas accessible par le net et qui contient donc mes informations confidentielles.
    J'ai donc pensé à un truc, si je veux rendre ça vraiment sur, au lieu de faire un include avec le chemin de mon fichier qui se situe en dehors de mon dossier "public HTML" dans mes script Php j'ai m'y le chemin dans une variable dans un autre fichier Php qui celui-ci se trouve dans le dossier "public HTML" et j'ai fait l'include du premier pour accéder au deuxième.
    Fichier "test.php" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
        $chemin = '/home/u00000000/config/info.php';
    ?>
    et dans le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    	try {
    	    include 'test.php';
    	    include $chemin; 
    ...
    Je sais pas si je ne suis pas partie trop loin .

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

    À vouloir trop bien faire, on fait n'importe quoi.

    Suis les conseils donnés. Point.

  10. #10
    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
    Je ne vois pas trop en effet ce que ça apporte comme sécurité supplémentaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    C'est sur merci pour votre aide et vos conseils !

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

Discussions similaires

  1. script php pour récupérer les informations dans ma base de données wamp
    Par agnesflore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 22/05/2017, 14h36
  2. Scripts php et protection .htaccess
    Par fveto dans le forum Langage
    Réponses: 4
    Dernier message: 15/06/2015, 18h27
  3. Script PHP informations serveur
    Par scualm dans le forum Apache
    Réponses: 1
    Dernier message: 07/10/2007, 22h36
  4. retour d'information via un script PHP
    Par jpboogie dans le forum Flash
    Réponses: 3
    Dernier message: 16/09/2006, 13h28

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