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

Truy vấn này có an toàn khi tiêm sql không?

Việc tiêm cụ thể đó sẽ không hoạt động vì mysql_query của PHP hàm chỉ cho phép một truy vấn cho mỗi cuộc gọi. Tuy nhiên, cách sau có thể hoạt động nếu column có khóa chính hoặc khóa duy nhất:

$unsafe_variable = "admin') ON DUPLICATE KEY UPDATE password=MD5(CONCAT('knownsalt', 'newpassword'))#";

Tốt hơn nên sử dụng mysql_real_escape_string dài dòng chức năng:

$sql=sprintf("INSERT INTO table (column) VALUES(%s)",
             mysql_real_escape_string($unsafe_variable));
mysql_query($sql);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận số lượng bản ghi cho tất cả các bảng trong cơ sở dữ liệu MySQL

  2. Cắt ngắn với điều kiện

  3. cách tìm dữ liệu chính xác giữa vùng đường chéo đã chọn trong truy vấn mysql

  4. Làm cách nào để GROUP BY DESC chọn thứ tự?

  5. Lưu trữ hiệu quả dữ liệu chuỗi thời gian:mySQL hoặc tệp phẳng? Nhiều bảng (hoặc tệp) hoặc truy vấn với điều kiện WHERE?