protéger login/password
Le
Une Bévue

j'ai une page, déjà protégée par un .htaccess, qui se connecte à des
bases de données nécessitant login et password.
pour l'instant, login et password sont en clair dans un fichier de conf
lu par php.
comment éviter d'avoir se couple de données en clair ?
bases de données nécessitant login et password.
pour l'instant, login et password sont en clair dans un fichier de conf
lu par php.
comment éviter d'avoir se couple de données en clair ?
AlainL
http://autourdalos.fr
Le 25/09/2013 07:47, Une Bévue a écrit :
oui, merci, je peux regarder du coté de email encoding et adapter à mon
utilisation.
Euh, on peut pas vraiment.
Ton script PHP a besoin de s'authentifier à la base de données d'une
manière ou d'une autre. Il faut donc qu'à un moment il fournisse des
identifiants.
Ou alors tu fais un formulaire qui demande le mot de passe de la base de
données via le Web, comme des outils de gestion tel phpMyAdmin. Mais le
truc dommage c'est que tu vas du coup demander deux mots de passe, un
pour la partie Web, l'autre pour la partie SQL.
Ou alors, tu mets pas d'identifiants et la base de données en libre
accès, mais c'est pas forcément ce que tu veux, quoique ya bien SQLite
qui fonctionne ainsi.
--
« Ceci n'est pas une signature. » — René Magritte (Apocryphe)
Bonjour Monsieur
En PHP, il y a des fonctions de cryptage genre hashage unidirectionnel.
Exemple ( je ne me rappelle plus du nom des fonctions ):
fonction($passwd)
1- Inscription
-----------
- Vous recevez l'email et le mot de passe fourni par l'utilisateur
dans $passwd ( à partir d'un formulaire ad hoc )
- vous enregistrez dans votre table MySQL : ($e_mail,
fonction($passd)) + éventuellement la valeur de time() ( nombre de
secondes depuis le 1er Janvier 1970 ).
Ainsi le mot de passe n'est pas en clair dans votre base de données.
2- Authentification
----------------
- Idem
- Vous cherchez dans votre table MySQL, le duplet : ($e_mail,
fonction($passwd))
- Si le duplet existe et n'est pas obsolète, vous acceptez sinon vous
refusez l'accès.
Il me semble, que la fonction de hashage sha256sum() existe en PHP.
Sous toutes réserves.
Amicalement.
Jean François Ortolo
OK, pigé, c'est pas vraiment possible, j'espère que mon .htaccess suffira.
Bon déjà j'ai mis les valeurs de login et password dans un fichier
externe au script php et même externe au dossier web de mon ordi...
ok, vu, mais bon je parlais du couple login, password d'authentification
à ma base de données.
Dans le dossier dans lequel il y a le fichier des couples login/mot de
passe, mettre également un fichier .htaccess dans lequel on met :
Si Apache 2.2.x :
Deny from all
Si Apache 2.4.x
Require all denied
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont forcément raison. Coluche
Le 25/09/2013 07:47, Une Bévue a écrit :
Tu dois les mettre dans un fichier extérieur au « DocumentRoot » de
ton site web. Si PHP fonctionne, un fichier PHP pourra l'inclure et
utiliser le login et le password, mais personne ne pourra le lire
directement, même si tes protections .htaccess ne fonctionnaient
pas, et même si l'interprète PHP tombait en panne : dans ce cas
extrême, quelqu'un pourrait lire ton code PHP, mais pas ton mot
de passe.
--
Olivier Miakinen
Eh bien voilà, c'est ce qu'il fallait faire.
OK, merci, c'est "tout bon".