La Pause Café du Forum Programmation

moi aussi :slight_smile:

Mais je m’intéresse aux ORM. Je vais certainement me coder un truc dans le genre (histoire de générer un table SQL à partir d’un fichier SQL et de gérer les relations externes, la mise à jour du schéma, etc).

Pour Phing, ben vu que j’utilise Makefile, si je peux remplacer par un truc en php, let’s go !:slight_smile:

C’est sympa l’ORM :super:
Plus ou moins ce que j’aimerais faire en PHP s’il pouvait faire de vraies applications Web (cad qui persistent après le passage d’un visiteur, comme en Servlet/JSP).


Par contre Phing, j'ai rien saisi :)

T’es nul, stou ! :ennuye: :o

Salut :hello:
En php je suis sur la gestion des sessions, ca roule pour le moment.
mais j’ai une question :
j’utilise mySQL 5, pour les mots de passes, quand je les rentre j’utilise la fonction MD5 dans mysql, et apres pour les comparer j’utilise la fonction php : md5(‹ mdp ›).
Ca va comme methode ?
Je demande ça, car il y a plein d’autre fonction dans mysql comme PASSWORD OLD_PASSWORD etc… puis ya aussi la fonction crypt de php …
Je me demande ce qu’il est préférable d’utiliser…

Vous le dites si je vous ennuie :ange:
Edité le 18/07/2007 à 18:02

pour moi le top reste d’enregistrer le mot de passe dans la bdd avec md5(mysql_real_escape_string($pass));.
Pour la lecture, tu compares md5(mysql_real_escape_string($_POST[‹ pass ›])); avec ce qu’il y a dans ton champ password, dans ta base de données :wink:

C’est bon alors, c’est ce que j’ai fait :slight_smile:

Question : Lors de l’inscription du mot de passe dans la base (lors du INSERT de l’utilisateur), faut-il utiliser md5()[/url] ou [url=http://dev.mysql.com/doc/refman/4.1/en/encryption-functions.html#function_md5]MD5() :nexath

C’est de pire en pire le titre de ce topoc !

@Raynor : moi j’utilise le md5() de PHP, mais si Mandar me lis il me contredirais surement. Le MD5() de MySQL te permets d’enregistrer sans passer par une variable PHP, donc je pense que cay le mieux.

@jeanguy (oui, je suis toujours opposé à présence de cet usurpateur de guymage) : Change moi vite ce titre moche :o

Moi je ferais ça avec PHP plutôt, pour gérer la sécurité avec grain de sel ou autre… Et puis je me dis que mon système d’authentification devrait être portable.
Par contre, je déconseille l’utilisation de PASSWORD(), l’implémentation peut changer au fil des évolutions du SGBD.

sha1() pour commencer, md5 a été cassée, sha1 aussi remarque.

Pour l’ORM, même en Java, je ne suis pas pleinement convaincu… certes, je vais plus vite à dév, mais dés lors que je veux faire une jointure (left join), je ne peux pas (du moins, je ne sais pas). Pire: ça fait que créer une surcouche d’objets*, soit de la surcharge à fond d’un point de vue mémoire.

Pour Java/JSP, oui enfin ce côté non persistant de PHP apporte quelque chose que les javateux ne savent pas : des pages qui ne dépendent pas du contexte de la session. Sur deux projets java, j’ai l’utilisation abusive de la session. Résultat? Tu fais du tab browsing et tout le site est dans les vaps… sans oublier des bugs liés à ça ('faut pas le dire au client par contre :D) Ah n’oublions pas le fait que la machine virtuelle demande au moins 1GiB pour tenir la route… :slight_smile:

Ceci dit, le reproche que je lui ferais de ce point de vue (à php) c’est ne pas avoir un espace de stockage commun des objets constants. Néanmoins, c’est lié à la façon dont php est installé (module, cgi) donc pas forcément simple non plus.

  • c’est peut être bien dans un langage objet de penser totalement objet. Néanmoins, l’excès d’objet tue l’objet (c) avis perso.

© Sans-Nom, 2007. All rights reserved.

(pratique de pouvoir mettre des signes html comme © ! :D)

AH bon ? :i
Comment ca ?
sur un site comme ca www.authsecu.com… on peut trouver a quoi correspond le hashage de 500 Million de mots

Mais bon, un mot de passe de 8 caractères qui peuvent etre des chiffres, des lettres, de la ponctuation, ca fait envrion 8^60 possibilités ce qui fait 1,532495541e+54 on est loin des 500 Millions :ane:
Edité le 18/07/2007 à 22:23

Zakimak : un algorithme de hashage (cryptographique) est dit « cassé » si jamais tu trouves deux mots m, n tels que hash(m) = hash(n). Et on a trouvé (ou forgé, pour être exact) deux fichiers tels que ça pète.

Le grain de sel, c’est le bien, sinon…
Mais c’est vrai qu’on a trouvé des collisions avec md5 et même sha1… maintenant, il faudrait du sha256 au moins… mais est-ce que ça vaut le coup, alors que dans trois ans, ça va encore changer, d’augmenter les temps de calcul du hash comme ça ?

Ok je comprends, merci bien
Edité le 18/07/2007 à 22:31


Je vais opter pour le sha1 quand même :D

Sinon, quand a fait que du C, ca change le php :smiley: surtout pour le typage… moins prise de tete.
Et il y a tellement de fonctions qui font tout a notre place aussi, puis les tableaux associatifs… c’est quand meme plus simple qu’une table de hashage en utilisant des listes chainés :smiley:
quoique il doit y avoir aussi pas mal de fonctions en C en incluant les bonnes librairies ? mais m’en sers pas.
Edité le 18/07/2007 à 22:48

la glib en propose pas mal. sinon en C++ tu as mes std::map, bien que ce ne soit pas des hashmap.

C’est quoi ce grain de sel ? Rajouter une petite opération en plus sur la chaine après le passage de l’algo de hash ?

En gros, oui. En fait tu stockes en plus du mot de passe une chaine générée aléatoirement que tu concatènes à ton mot de passe avant le md5… Ce qui rend le déchiffrement par dictionnaire impossible.

http://matthieu.developpez.com/authentification/#L2.2