Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1082 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  mots de passe...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mots de passe...

n°369924
Psykolio
Posté le 23-04-2003 à 22:19:09  profilanswer
 

voilà, je compte faire un nouveau module avec une gestion de membres la plus sécurisée possible.... je travaille avec une db mysql et je code en php... j'aimerais me renseigner sur les possibilités pour coder des mots de passe, comment faire pour que ce soit le plus sur???? hum c'est une question po très précise, mais je n'y connais rien à ce niveau, alors si qq'un pouvait m'aiguiller, ce serait génial ;)


Message édité par Psykolio le 23-04-2003 à 22:19:21

---------------
-----------------------------------
mood
Publicité
Posté le 23-04-2003 à 22:19:09  profilanswer
 

n°369925
Mara's dad
Yes I can !
Posté le 23-04-2003 à 22:20:09  profilanswer
 

Recherche un peu dans le forum, le sujet a été abordé plusieurs fois.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°369939
simogeo
j'ai jamais tué de chats, ...
Posté le 23-04-2003 à 22:31:27  profilanswer
 

possibilité de codage avec la fonction crypt(); et possibilité d'ajouter un grain de sel pour compliquer la chose ... c'est le cryptage DES utilisé pour les compte utilisateur sous Linux.
C'est déjà costaud.
 
tu as aussi la possibilité de crypter avec md5() et mcrypt() il me semble mais je crois qu'il faut compiler apache avec les modules --enabled  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°369949
Psykolio
Posté le 23-04-2003 à 22:35:54  profilanswer
 

ok merci bcp, je vais chercher de la doc sur tt ça... :)


---------------
-----------------------------------
n°370069
omega2
Posté le 24-04-2003 à 01:10:44  profilanswer
 

Et si tu veux que ca soit vraiment sécurisé, il faut que personne ne puisse retrouver le code en clair.
Pour ça, il y a passwd de mysql (ou la fonction équivalente dans les autres bases de donnée) tu lui donnes le mot en clair et ca retourne la valeur corespondante. (pas d'algorythme de décryptage donc impossible de retrouver la valeur de départ a par par la force brupte en testant toutes les valeurs initiale possible jusqu'à tombé sur le même ensemble dde cractère une fois codé)
Pour tester la validité du mot de passe saisie par un visiteur, il faut le coder avec la même fonction et comparé les deux valeurs codées.
Attention, cette fonction s'utilise dans une requête sql et non pas directement dans le php.
 
Pour que l'ensemble soit sécurisé, il faut aussi utilisé ssl entre le serveur et le navigateur.

n°370206
Master_Jul
Posté le 24-04-2003 à 10:46:50  profilanswer
 

omega2 a écrit :


 
pas d'algorythme de décryptage  


 
faudrait m'expliquer comment ça marche alors :??: , c'est pas aléatoire non plus sinon ça serait pas très pratique :heink:


Message édité par Master_Jul le 24-04-2003 à 10:48:15
n°370214
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 10:59:06  profilanswer
 

omega2 a écrit :

Et si tu veux que ca soit vraiment sécurisé, il faut que personne ne puisse retrouver le code en clair.
Pour ça, il y a passwd de mysql (ou la fonction équivalente dans les autres bases de donnée) tu lui donnes le mot en clair et ca retourne la valeur corespondante. (pas d'algorythme de décryptage donc impossible de retrouver la valeur de départ a par par la force brupte en testant toutes les valeurs initiale possible jusqu'à tombé sur le même ensemble dde cractère une fois codé)
Pour tester la validité du mot de passe saisie par un visiteur, il faut le coder avec la même fonction et comparé les deux valeurs codées.


 
crypt() fonctionne exactement de la même manière  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°370215
Mara's dad
Yes I can !
Posté le 24-04-2003 à 10:59:18  profilanswer
 

Ca utilise des fonctions à sens unique.
 
Exemple de fonction à sens unique : Modulo.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°370244
omega2
Posté le 24-04-2003 à 11:39:51  profilanswer
 

simogeo a écrit :


 
crypt() fonctionne exactement de la même manière  ;)  

Je savais pas ça. ;)
Comme sur mon site, j'ai toujours utilisé la fonction de mysql, j'ai pas trop regardé les niveaux de sécurité qu'il y avait a côté. ;)
Tiens faire un passwd d'un crypt(), ca pourait être marrant. lol :)

n°370293
Psykolio
Posté le 24-04-2003 à 12:23:58  profilanswer
 

Citation :

Tiens faire un passwd d'un crypt(), ca pourait être marrant. lol :)


 
j'y ai pensé héhé... mais bon, e suis po sur que ce soit très utile :??:  :) .... euh dites moi, j'ai lu que vbulletin et phpbb utilisent du md5(), c'est mieux que faire un crypt() ou po???? en fait c'est quoi exactement la différence??


Message édité par Psykolio le 24-04-2003 à 12:24:47

---------------
-----------------------------------
mood
Publicité
Posté le 24-04-2003 à 12:23:58  profilanswer
 

n°370336
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 13:08:51  profilanswer
 

Psykolio a écrit :

Citation :

Tiens faire un passwd d'un crypt(), ca pourait être marrant. lol :)


 
j'y ai pensé héhé... mais bon, e suis po sur que ce soit très utile :??:  :) .... euh dites moi, j'ai lu que vbulletin et phpbb utilisent du md5(), c'est mieux que faire un crypt() ou po???? en fait c'est quoi exactement la différence??


 
dis toi que si UNIX utilises crypt() c'est que ca tient déjà bien la route ..... fais un crypt() récursif si ca te chantes .... mais l'interêt me semble super limité  [:southpark1]  
 
tu as la main sur le serveur ? tu es sur qu'apache est compilé avec le support md5 pour pouvoir l'utliser ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°370390
Master_Jul
Posté le 24-04-2003 à 13:57:37  profilanswer
 

Tiré du manuel :
 

Citation :

crypt
(PHP 3, PHP 4 )
 
crypt -- Chiffrage indéchiffrable (hashing)
Description
string crypt ( string str [, string salt])
 
 
crypt() retourne la chaîne str chiffrée avec l'algorithme standard Unix DES, ou bien un des algorithme qui est disponible sur la machine. L'argument optionnel salt sera utilisée comme base pour le chiffrement. Reportez vous aux pages de manuel Unix pour plus de détails sur votre fonction crypt.  
 
Si l'argument salt n'est pas fourni, PHP en générera un lui-même.  
 
Certains systèmes supoprtent plus d'un type de chiffrage. En fait, il arrive que le chiffrage DES standard soit remplacé par un algorithme de chiffrage MD5. Le choix du type de chiffrage est effectué en se basant sur la valeur du salt. A l'installation, PHP détermine les possibitilités de la fonction crypt(), et acceptera des salt pour d'autres types de chiffrages. Is aucun salt n'est fourni, PHP va en générer un de deux caractères, à moins que le système par défaut soit MD5, auquel cas un salt compatible MD5 sera généré. PHP définit une constante appelée CRYPT_SALT_LENGTH qui vous dira si un salt de deux caractères s'applique à votre système, ou bien si c'est un salt de 12 caractères.  
 
Si vous utiilsez le salt généré, pensez bien que le salt est généré une seule fois. Si vous appelez cette fonction récursivement, cela peut avoir des impacts sur la sécurité et l'apparence du résultat.


 
 
Exemple 1. Exemple avec crypt()
 

Code :
  1. <?php
  2. $mot_de_passe = crypt("MonM0TdEPa&&e" );
  3. // laissons le salt initialisé par PHP
  4. /*
  5.   Il vaut mieux passer le résultat complet de crypt() comme salt nécessaire
  6.   pour le chiffrage du mot de passe, pour éviter les problèmes entre les
  7.   algorithmes utilisés (comme nous le disons ci-dessus, le chiffrage
  8.   standard DES utilise un salt de 2 caractères, mais un chiffrement  
  9.   MD5 utilise un salt de 12.
  10. */
  11. if (crypt($utilisateur_input,$mot_de_passe_input) == $mot_de_passe) {
  12.    echo "Mot de passe correct!";
  13. }
  14. ?>

 
 

n°370395
Master_Jul
Posté le 24-04-2003 à 14:00:28  profilanswer
 

si qqun pouvait d'ailleurs m expliquer le crypt "machin,truc" j'ai pas compris pourquoi on crypte 2 choses pour les comparer au mot de passe crypté

n°370408
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 14:05:24  profilanswer
 

Master_Jul a écrit :

si qqun pouvait d'ailleurs m expliquer le crypt "machin,truc" j'ai pas compris pourquoi on crypte 2 choses pour les comparer au mot de passe crypté


 
crypt(mot_a_crypter, grain_de_sel);
 
le deuxième est le grain de sel, une sorte de clef que l'on ajoute au codage. Si elle n'est pas préciser, php en génére une automatiquement me semble t'il.  :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°370409
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 24-04-2003 à 14:05:26  profilanswer
 

Master_Jul a écrit :

si qqun pouvait d'ailleurs m expliquer le crypt "machin,truc" j'ai pas compris pourquoi on crypte 2 choses pour les comparer au mot de passe crypté


Bin crypt() est un cryptage irréversible. Bon. Mais il crypte toute le temps de la même façon, donc l'idée c'est de crypter ce qu'entre l'utilisateur avec le résultat qui est en base ; si les deux cryptages sont les mêmes c'est que le mot de passe entré est correct (peut-être à un modulo près, mais comme je connais pas l'algo de crypt(), je m'avancerai pas).
Le deuxième argument est le salt. Je ne connais pas bien ce concept donc je ne vais pas me lancer dans des trucs trop hasardeux ; je crois que c'est en fait une variable qui te permet de générer des cryptages différents pour une même chaîne. Mais franchement, je suis pas sûr [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°370420
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 14:09:14  profilanswer
 

Taiche a écrit :


 
Le deuxième argument est le salt. Je ne connais pas bien ce concept donc je ne vais pas me lancer dans des trucs trop hasardeux ; je crois que c'est en fait une variable qui te permet de générer des cryptages différents pour une même chaîne. Mais franchement, je suis pas sûr [:spamafote]
 


 
 [:tomilou] c'est tout à fait cela......et le grain de sel se retrouve dans le mot de passe crypté.
 
 
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°370424
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 24-04-2003 à 14:10:21  profilanswer
 

simogeo a écrit :


 [:tomilou] c'est tout à fait cela......et le grain de sel se retrouve dans le mot de passe crypté.


 :jap:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°370516
Master_Jul
Posté le 24-04-2003 à 15:11:03  profilanswer
 

oki merci mais alors dans l'exemple ça marchera pas puisque le mot de passe de référence n'a pas été crypté avec le sel ?!


Message édité par Master_Jul le 24-04-2003 à 15:11:14
n°370543
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 15:25:45  profilanswer
 

Master_Jul a écrit :

oki merci mais alors dans l'exemple ça marchera pas puisque le mot de passe de référence n'a pas été crypté avec le sel ?!


 
tout à fait  :jap:  
 

Code :
  1. <?php
  2.   // on définit le grain de sel
  3.   define (SALT, "rt" );
  4.   $crypt_password = crypt("password", SALT); 
  5.   // stockage de $crypt_password dans la base de données ou fichier
  6.   // test après loggage de l'utilisateur
  7.   if (crypt($utilisateur_input, SALT) == $crypt_password ) {
  8.        echo "Mot de passe correct!";
  9.   } else echo ("marche pô !" );
  10.   ?>


 
 :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°371295
Master_Jul
Posté le 25-04-2003 à 01:17:32  profilanswer
 

merci bien simogeo  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  mots de passe...

 

Sujets relatifs
[MySQL] Cacher un mot de passeCSS, problème en étant passé de IE5.5 à IE6
[MySQL] Changer le mot de passe de MySQL ?Passé un paramètre lors de l'exécution
mot de passe à l'ouverture d'une page ?[PHP] Fonction pour les mots de passe
htpasswd : cryptage des mots de passe[ASP] gestion des login et mots de passe
[PHP + SQL] Gestion des mots de passe cryptécrypter les mots de passe
Plus de sujets relatifs à : mots de passe...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR