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

Mã PHP này có dễ bị chèn SQL không?

Vâng, nó dễ bị tổn thương. Bạn đang nói các giá trị trực tiếp từ đầu vào của người dùng và đặt nó vào truy vấn của bạn.

Bạn nên xem mysql_real_escape_string hoặc (tốt hơn là) sử dụng MySQLi cung cấp các truy vấn được tham số hóa. Việc đưa vào SQL là do dữ liệu người dùng được đưa vào dưới dạng mã SQL thay vì dữ liệu. Cách đúng duy nhất để bảo mật một truy vấn là sử dụng các truy vấn được tham số hóa để phân tách dữ liệu và văn bản truy vấn ở cấp giao thức.

Hơn nữa, mật khẩu của bạn được lưu trữ ở dạng bản rõ. Bạn nên sử dụng hàm băm mặn là mức tối thiểu tuyệt đối.

Bạn cũng nên xem những câu hỏi tuyệt vời sau:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi SQL:1064, SQLState:42000 trong @Query - JPA, MySQL, Hibernate

  2. Vi phạm số lượng khi sử dụng truy vấn con trả về hai giá trị

  3. Docker Soạn mysql nhập .sql

  4. MySQL C ++ Connector:tham chiếu không xác định tới `get_driver_instance '

  5. Cập nhật PHP MySQL thành công nhưng cơ sở dữ liệu không được cập nhật