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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
alainL
Le #25683182
Regarder du côté de " aspirine.org " ?

AlainL

http://autourdalos.fr

Le 25/09/2013 07:47, Une Bévue a écrit :
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 ?
Une Bévue
Le #25683312
Le 25/09/13 09:23, alainL a écrit :
Regarder du côté de " aspirine.org " ?



oui, merci, je peux regarder du coté de email encoding et adapter à mon
utilisation.
Cyprien Nicolas
Le #25683382
Le 25/09/2013 07:47, Une Bévue écrivit :
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 ?



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)
Jean Francois Ortolo
Le #25683462
Le 25/09/2013 07:47, Une Bévue a écrit :
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 ?




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
Une Bévue
Le #25684122
Le 25/09/13 11:08, Cyprien Nicolas a écrit :
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.



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...
Une Bévue
Le #25684112
Le 25/09/13 12:05, Jean Francois Ortolo a écrit :
Le 25/09/2013 07:47, Une Bévue a écrit :
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 ?




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, vu, mais bon je parlais du couple login, password d'authentification
à ma base de données.
Otomatic
Le #25684282
Une Bévue
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...


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
Olivier Miakinen
Le #25684682
Bonjour,

Le 25/09/2013 07:47, Une Bévue a écrit :
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 ce couple de données en clair ?



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
Olivier Miakinen
Le #25684762
Le 25/09/2013 17:19, Une Bévue a écrit :

[...]

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...



Eh bien voilà, c'est ce qu'il fallait faire.
Une Bévue
Le #25685712
Le 25/09/2013 21:22, Olivier Miakinen a écrit :
Eh bien voilà, c'est ce qu'il fallait faire.



OK, merci, c'est "tout bon".
Publicité
Poster une réponse
Anonyme