Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Trình Mysql bằng Php với Salt &MD5

Bạn cần đặt dấu ngoặc kép xung quanh $secpass trong truy vấn:

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

Chỉ là FYI, có rất nhiều vấn đề khác với mã của bạn ở đây. Những điều lớn nhất là muối phải là ngẫu nhiên. Bạn có thể lưu nó trong cơ sở dữ liệu bên cạnh mật khẩu nhưng việc có nhiều muối ngẫu nhiên khác nhau cho mỗi mật khẩu sẽ làm giảm đáng kể việc sử dụng các bảng cầu vồng.

Thứ hai, và đây là một vấn đề lớn hơn nhiều, bạn cần phải thoát khỏi các biến của mình bằng cách sử dụng mysql_real_escape_string() hoặc bằng cách chuyển đổi quyền truy cập cơ sở dữ liệu của bạn để sử dụng PDO. Nếu không, bạn đang mở mình ra một thế giới đau đớn dưới hình thức tấn công SQL injection.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django và xử lý song song:

  2. Cài đặt MySQL:LỖI:Không thể tạo tiện ích mở rộng gốc đá quý

  3. MySQL InnoDB có luôn yêu cầu chỉ mục cho mỗi ràng buộc khóa ngoại không?

  4. Chuyển đổi định dạng ngày trong PHP

  5. Khi nào thì MySQL cố gắng cập nhật chỉ mục cho một cột?