Sécurisation d'une connecxion MySQL par un script php

Mustaf-Jack
Invité n'ayant pas de compte PHPfrance

08 févr. 2006, 06:34

Bonjour,

J'ai un petit souci au niveau sécurité comme vous aurez pu vous en douter. En fait afin de réaliser une connexion mysql, les paramètres :

Code : Tout sélectionner

$dbhost = ""; $dblogin = ""; $dbpassword = ""; $dbname = ""; $dbtable = "";
Doivent être renseignés quelque part. Je les places dans un autre fichier que j'inclus dans le fichier php désireux d'établir une connexion, mais ca ne fait que déplacer le problème puisque ce fichier se doit d'être en lecture.

Comment faire pour que les paramètres de connexion ne soient pas lisibles?

Merci de votre attention !

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

08 févr. 2006, 07:59

Comment faire pour que les paramètres de connexion ne soient pas lisibles?
Lisibles par qui ? Et surtout, accessible d'où ? il faut bien qu'ils soient lisibles par le serveur, sinon comment faire pour récupérer ces informations pour établir une connexion au serveur ?

De toutes façons, tant que PHP fonctionne le source du fichier ne sera pas affichés aux utilisateurs du web. Par exemple, les mots de passe de ce forum se trouve dans http://www.phpfrance.com/forums/config.php mais personne ne peut les voir, donc aucun soucis. Pour un sentiment de sécurité accru, tu peux déplacer le fichier en dehors du chemin accessible publiquement (demander à ton hébergeur) ou encore le mettre dans un autre dossier et ajouter un fichier .htaccess contenant

Code : Tout sélectionner

Deny from all
...mais là il s'agit plus de parano qu'autre chose.

HTH

Mustaf-Jack
Invité n'ayant pas de compte PHPfrance

08 févr. 2006, 18:12

En fait,
J'ai un serveur LAMP sur ma machine que je n'ai pas encore ouvert parceque je ne suis pas au point sur la sécurité. Je crois donc que je peux y accéder en raison de ma consultation à partir de cette machine ! (la notion d'utilisateurs sur internet ne m'est pas encore claire...)

En tout cas je te remercie de ta réponse, j'avais aussi pensé au .htaccess mais comme tu le dis si bien, c'est de la parano :)

J'ai donc une nouvelle question. Lorsque l'on se connecte à ma machine à partir de l'extérieur, cela se fait avec quels droits ?

Merci d'avance !

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

08 févr. 2006, 19:10

Mmh... j'imagine que tu parles des droits Windows, mais cette question ne s'applique pas vraiment à ce cas. Un serveur est un programme résident (daemon) qui écoute un port, accepte [ou non] une connexion et envoie des données, c'est tout. Par défaut, les utilisateurs peuvent accéder (en lecture) à tout ce qui se trouve dans ton dossier DocumentRoot, sauf avis contraire (.htaccess).

Mustaf-Jack
Invité n'ayant pas de compte PHPfrance

10 févr. 2006, 01:36

Désolé du retard et merci pour tes réponses. Non c'est un serveur sous linux. Donc en fait, les permissions dont je dote mes fichiers sur le serveur sont propres à la machine, c'est bien ça?

C'est à dire qu'un poste client, qui se connecte a mon serveur par http par exemple, a uniquement les droits en lecture, sauf si une restricition est spécifiée dans un .htaccess, j'ai bien compris ? :)