[RESOLU] où stocker le nom d'utilisateur et le mot de passe

Eléphanteau du PHP | 10 Messages

20 nov. 2014, 15:51

Bonjour à tous,

ce n'est pas une question technique mais qui touche plus à la sécurité. En effet j'ai un formulaire qui permet à un client d'insérer une ligne dans une table d'une base Mysql. Mon formulaire permet à cet utilisateur de renseigner des informations, puis lorsqu'il valide une page php va insérer dans la table qui va bien les infos.

Question : suis je obligé de mettre le login et le mot de passe de l'utilisateur mysql (qui a les droits d'insérer dans la table) en dur dans le code PHP de ma page de validation ?

Merci pour vos retours,
NIcolas

ViPHP
ViPHP | 2577 Messages

21 nov. 2014, 14:25

Oui.

En général, on n'utilise pas "root" mais un utilisateur dédié à l'application avec des droits limités à la base de l'application pour limiter les risques.
Il est possible de mettre le user et le mot de passe dans un fichier qui est inclut et n'est pas accessible via le navigateur. C'est à dire en dehors du documentroot apache ou protégé par un .htaccess (au cas ou par erreur le fichier soit transmis sans interprétation du code php).

Eléphanteau du PHP | 10 Messages

21 nov. 2014, 17:15

Merci pour ta réponse Mazarini je vais limiter les droits de l'utilisateur.

Sinon du coup lorsque la ligne est créee dans ma table et que je souhaite donner l'accès à la modification à chaque utilisateur qui a créé une ligne, est ce que je dois à chaque création de ligne crée un utilisateur "mysql" et lui limiter les droits (dans la table mysql\user) ?

Ou bien je peux renseigner le login/password dans la table d'une autre base et utiliser un utilisateur générique qui aura les droits pour faire la vérification login/password.

Quelle ets la méthode la plus sécurisée ?

Merci bien
NIcolas

ViPHP
AB
ViPHP | 5818 Messages

21 nov. 2014, 17:44

Ton mot de passe et tes identifiants tu les met dans un fichier nommé par exemple "connexion.php".
Et donc dans chaque fichier où tu dois utiliser ta bdd (page de validation par exemple) il te suffira de faire un require 'connexion.php'; ce qui t'évitera d'avoir à copier tes identifiant dans chaque fichier.
Ensuite pour protéger le fichier "connexion.php" on le met dans un répertoire protégé par un .htaccess avec la mention "deny from all", ou alors on le met dans un répertoire en dehors du www
(en fait c'est ce qu'a dit Mazarini en plus condensé)

Eléphanteau du PHP | 10 Messages

21 nov. 2014, 18:22

ha okkkk ! Punaise j'avais compris de travers ce que m'avais dit Mazarani.

C'est exactement ce que je cherchais.

Merci à tous les deux, je passe en résolu
A+
Nicolas