Crypter le mot de passe de MySQL ou pas ?

Résolu/Fermé
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 - 21 août 2008 à 11:55
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 - 21 août 2008 à 15:27
Bonjour,

Tout est dans le titre, j'ai vaguement entendu parler de crypter le mot de passe de MySQL dans les sripts php, mais je me demande si c'est bien utile, puisque le code php n'est pas visible...

Pouvez-vous éclairer ma lanterne de newbie, svp ? ;-)

Merci
A voir également:

12 réponses

BlackDrag00n Messages postés 34 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 5 août 2011 8
21 août 2008 à 13:33
pas la peine car le script pour accedez a ta base de donnée ce trouve sur ton serveur et donc il n'y a pas de donnée qui transite pas le web.

ton script s'execute sur le serveur et se connect a la base de donnée sur le serveur, et comme dit plus haut la source d'une page n'affiche pas le php donc n'affichera pas les infos pour ce connecter a ta BDD ;)
3
bonjour,

Il est toujours préferable de crypter un mot de passe lorsqu'il est stocké dans une base de données.
en php tu peux utiliser le MD5.

$motdepasse = MD5("le mot de passe en clair");
2
absurdsystem Messages postés 117 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 28 août 2008 50
21 août 2008 à 11:58
Slt,

moi aussi je me demandai l'interet de faire ça ....

Pour moi ça fai une protection en plus si jamais on arrive a accéder à ta base de données par exemple.
0
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
21 août 2008 à 12:01
Bah si c'est utile.

Un utilisateur malveillant peut récupérer les données transitant entre ton site et ta BD. Donc si tes données sont en clair, il pourra provoquer de gros dégats.
Alors que si tes données sont cryptées. Même si il les récupère, elles ne seront pas exploitables. ;)
0
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
21 août 2008 à 13:29
Attention, je parle ici du mot de passe que l'on insère dans la ligne de connexion à MySQL:

mysql_connect("tutu", "toto", "mot_de_passe_de_fou");

Je me fous pas mal qu'un éventuel pirate puisse lire le contenu de la BDD, de toute façon, le but est d'afficher ce contenu sur le site.

Ce que je veux éviter, c'est que le pirate puisse lire mon mot de passe dans la ligne ci-dessus, ce qui lui permettrait de faire tout ce qu'il veut à ma BDD.
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
21 août 2008 à 14:31
"De toute façon mysql_connect prend un paramètre mot de passe en clair"

ben alors, pas de solution (hormis le SSL, mais ça je crois que je vais pas m'y lancer ^^) pour éviter que le premier apprenti pirate venu me hacke mon joli p'tit site ? sgnirffll

comment y font les sites sans SSL (et y en a des tas) pour pas se faire hacker leur truc, alors ?
0
ShadowRevenge Messages postés 146 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 16 juillet 2009 13
21 août 2008 à 14:35
Un hack résulte rarement d'un manque de cryptage sur un site, mais plus souvent d'une faille dans la programmation PHP, ou dans la rigueur de programmation en général.
0
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
21 août 2008 à 15:27
oki merci pour toutes vos réponses

m'en vais laisser mon mysql_connect tel quel et me gaffer à composer des scripts "secure" et les tester à fond avant la mise en production !
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
21 août 2008 à 11:58
T'as pas tout à fait tort de te poser la question.
Et de toutes façons, celui qui arrive à rentrer dans ton serveur peut rapatrier ce/ces fichiers pour trouver le mot de passe.
Donc ... inutile, à mon sens.
-1
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
21 août 2008 à 13:54
La serveur Mysql n'est pas forcement sur la même machine que le serveur Web.
De toute façon mysql_connect prend un paramètre mot de passe en clair, il faudra donc le décrypter avant de lui passer. Donc comme il a déjà été dit, ca ne sert à rien de le crypter dans le script.
-1
BlackDrag00n Messages postés 34 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 5 août 2011 8
21 août 2008 à 14:02
oui mais dans le cas présent la BDD n'est pas sur une autre marchine que sur le serveur web :)
-1
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
21 août 2008 à 14:10
Dans mon cas, effectivement, la BDD est sur le même serveur que le site.

Mais je suis heureux d'apprendre que cela n'est pas forcément le cas... ça veut dire que si j'ai un hébergement gratuit un peu miteux qui ne met pas ou pas assez de BDD à disposition, je peux contourner le problème en faisant appel à des bases de données situées sur mon serveur web perso à la maison. (a moins que cela ne ralentisse trop le fonctionnement de mon site, qu'en pensez-vous ?)
-1
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
21 août 2008 à 14:16
Oui ça ralentirai nécessairement car tes données passeraient deux fois par internet :
client <----> serveur web <----> serveur bd au lien d'une seule
, et en plus tu exposerais ton serveur de bd 'au monde'.
-1
ShadowRevenge Messages postés 146 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 16 juillet 2009 13
21 août 2008 à 14:22
Si tu as un hebergement miteux comme tu dis, si quelqu'un fait peter ton serveur il aura acces aux fichiers, et donc a ton mot de passe mysql, meme si ta base est sur un autre serveur ^^
Et de toute façon c'est simple tu ne peux pas crypté le mot de passe dans la fonction mysql_connect, la seule solution que tu as c'est de crypté l'ensemble des données qui transitent en utilisant du https par exemple, mais bon si tu veux mon avis ca vaut pas le coup :)
-1
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
21 août 2008 à 14:46
En résumé :
- Le code PHP n'est jamais visible du client (sauf erreur du développeur ou de l'admin du serveur)
- Le lien réseau entre serveur Web et serveur BD est soit inexistant (même machine) soit sur un réseau privé, soit le serveur BD n'accepte des connexions que des IP des serveurs web associés.
-1