Mysql
 sql >> Base de données >  >> RDS >> Mysql

Soumission à Mysql en utilisant Php avec Salt&MD5

Vous devez mettre des guillemets autour de $secpass dans la requête :

$newStudent = $dbh->exec ("INSERT INTO Student (uname, pass, fname, lname, email, currGrade)                VALUES('$_POST[reguser]','$secPass','$_POST[regfirst]','$_POST[reglast]','$_POST[regemail]','$_POST[regclassrank]')");

Juste pour info, il y a beaucoup d'autres problèmes avec votre code ici. Les plus importants sont que le sel doit être aléatoire. Vous pouvez le stocker dans la base de données à côté du mot de passe, mais avoir un sel aléatoire différent pour chaque mot de passe réduit considérablement l'utilisation des tables arc-en-ciel.

Deuxièmement, et c'est un problème beaucoup plus important, vous devez échapper vos variables en utilisant mysql_real_escape_string() ou en convertissant votre accès à la base de données pour utiliser PDO. Sinon, vous vous exposez à un monde douloureux sous la forme d'attaques par injection SQL.