Page 1 sur 1

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

Posté : 20 nov. 2014, 15:51
par nicolas_44
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

Re: où stocker le nom d'utilisateur et le mot de passe

Posté : 21 nov. 2014, 14:25
par Mazarini
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).

Re: où stocker le nom d'utilisateur et le mot de passe

Posté : 21 nov. 2014, 17:15
par nicolas_44
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

Re: où stocker le nom d'utilisateur et le mot de passe

Posté : 21 nov. 2014, 17:44
par AB
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é)

Re: où stocker le nom d'utilisateur et le mot de passe

Posté : 21 nov. 2014, 18:22
par nicolas_44
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