Les Allergies
Alimentaires
Posez votre question Signaler

Crypter le mot de passe de MySQL ou pas ? [Résolu]

le_boss 168Messages postés 8 août 2008Date d'inscription 29 octobre 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

Crypter le mot de passe de MySQL ou pas »

15 réponses
Réponse
+2
moins plus
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");
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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. ;)
le_boss- 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.
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
"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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
-1
moins plus
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.
Ajouter un commentaire
Réponse
-1
moins plus
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.
BlackDrag00n- 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 :)
le_boss- 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 ?)
Ajouter un commentaire
Réponse
-1
moins plus
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'.
Ajouter un commentaire
Réponse
-1
moins plus
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 :)
Ajouter un commentaire
Réponse
-2
moins plus
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.
Ajouter un commentaire
Ce document intitulé « Crypter le mot de passe de MySQL ou pas ? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?