equivalence mysql_escape_string en PDO - PHP - Programmation
Marsh Posté le 09-03-2015 à 22:23:09
L'équivalent c'est de surtout pas faire ton escaping à la main (en notant que t'es censé utiliser mysql_real_escape_string quand tu fais ça).
La manière correcte de le faire en PDO c'est
Code :
|
Marsh Posté le 09-03-2015 à 22:31:39
Ouch
Regarde de ce côté : http://php.net/manual/fr/pdo.prepare.php
Ca va donner un truc du genre. Pas dit que ca marche j'utilise plus directement pdo depuis longtemps
Code :
|
Utiliser du MD5 en 2015 faut oser. password_hash() et bcrypt c'est tout aussi simple à utiliser.
edit : grillé
Marsh Posté le 16-03-2015 à 20:19:36
Bonjour à tous
Avant tout je vous pris m'excuse pour mon absence et mes remerciment a tous ceux qui ont participé a ma question. Mais je pense que je vais me remettre à la théorie, parce que je le sentiment que on peut pas comparer avec PDO la ligne complete de la bd et il faut savoir que MD5 va cripter différemment un même mot passe pour deux login différents.
Je reviendrait posté la solution. merci
Marsh Posté le 16-03-2015 à 20:40:15
MD5 n'est plus considéré comme sûr pour les mots de passe. Point barre.
Tu peux ajouter le login au mot de passe, le saler, faire ce que tu veux... dis toi qu'une carte graphique actuelle peut tester un voire plusieurs milliards de hashs par seconde. Entre ca, les rainbow tables et les attaques par dictionnaire, soit tu t'estimes expert et tu bricoles une solution "robuste" basée sur MD5, soit tu as l'humilité de lire des docs et d'appliquer les best-practices du moment.
Marsh Posté le 16-03-2015 à 20:45:13
scvo0ne a écrit : MD5 n'est plus considéré comme sûr pour les mots de passe. |
md5 n'a jamais été considéré comme sûr pour les mots de passe md5crypt a été crée en 1994
Marsh Posté le 16-03-2015 à 20:49:45
La plus belle fille ne peut donner plus que ce elle as. Je suis loin d'être un expert, seule utilise ce que j'ai appris, mais en informatique il faut pas dormir, parce que ce de hier est déjà révolu pour une nouveauté.
Merci por tes conseils.
Marsh Posté le 09-03-2015 à 21:50:03
Bonjour à tous.
Mes compétences informatique sont presque inexistante en PHP comme quasiment partout ailleurs dans le langage informatique.
Je me suis balader de forum en forum pour essayer d'aboutir à Un objectif qui ne marche plus avec Mysql 5.6.17 pou la quel je vous en pris de m'aider.
J'aimerais s'il vous plait, trouver l'eqivalence cet petit bloque de code en PDO.
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'" )';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
Merci beaucoup