Mot de passe dans une page PHP

Résolu
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 - 22 janv. 2015 à 16:17
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 - 24 janv. 2015 à 15:51
Bonjour à tous, :)

Je viens de lire plusieurs articles sur le codage des mots de passe en PHP, et notamment en utilisant les fonctions password_hash() et password_verify() (PHP 5.5 mini). J'ai compris le principe de fonctionnement pour vérifier un mot de passe saisie dans un formulaire, par rapport à celui contenu dans une base de données.

Là où subsiste le flou pour moi c'est :
* Pour se connecter à la base de donnée SQL, il faut saisir dans le code PHP le mot de passe SQL.
* Si je ne veux pas utiliser une base de données pour stocker les mots de passe, mais vérifier directement dans le code PHP le mot de passe récupéré d'un formulaire (dans le cas où je n'ai qu'un seul utilisateur).

Ces 2 cas pose en fait le même problème : l'écriture du mot de passe directement dans le code PHP. Est-ce que c'est risqué ? Si on peut attaquer une base de données, je suppose qu'on peut aussi attaquer une page PHP pour en récupérer le mot de passe non ?
Donc, comment procéder en sécurité pour ces deux cas d'utilisation ?

Merci d'avance :)

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
22 janv. 2015 à 20:56
si c'est juste pour une page et un seul utilisateur, mettre le mdp en clair (si les données protégées ne sont pas critiques) et faire un simple test d'égalité est acceptable.
Si tu as plusieurs utilisateurs, il est préférable de mettre en place une base de données (même sous forme de fichier) avec des mdp hashés.
0
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 3
23 janv. 2015 à 08:22
Il n'est donc pas risqué d'écrire en clair le mot de passe dans une page PHP ?
De même pour une connexion SQL :
$db = mysql_connect('localhost', 'login', 'password'); 


Merci :)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 janv. 2015 à 19:56
Le code PHP n'étant pas visible par les visiteurs, le risque est plutôt limité.
0
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 3 > NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
24 janv. 2015 à 11:37
Ok. Mais le contenu d'une base SQL n'est pas sensé être visible par le visiteur non plus.
Quelle est la différence ?

Je te crois, mais c'est juste par curiosité :)
Merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 janv. 2015 à 14:53
Mettre le mdp directement dans le code PHP peut être plus simple, mais le mettre en base de données permet une plus grande souplesse, tout est question de al finalité.

Si tu n'aura qu'un seul et unique utilisateur qui peut aisément modifier le code PHP pour modifier son mdp, il peut être pluis simple de faire le test directement en PHP, si tu as plusieurs utilisateurs ou des utilisateurs peu au fait du PHP, le mettre en base de données sera plus pratique (avec les protections associées évidemment).
0
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 3 > NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
24 janv. 2015 à 15:51
Ok. Merci de tes réponses :)
0
Rejoignez-nous