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

Chèn SQL trong ADOdb và bảo mật trang web chung

Các cuộc tấn công đưa vào SQL xảy ra khi đầu vào của người dùng được mã hóa không đúng cách. Thông thường, đầu vào của người dùng là một số dữ liệu mà người dùng gửi cùng với truy vấn của cô ấy, tức là các giá trị trong $_GET , $_POST , $_COOKIE , $_REQUEST hoặc $_SERVER mảng. Tuy nhiên, đầu vào của người dùng cũng có thể đến từ nhiều nguồn khác, như ổ cắm, trang web từ xa, tệp, v.v. Do đó, bạn thực sự nên xử lý mọi thứ trừ hằng số (như 'foobar' ) là đầu vào của người dùng .

Trong mã bạn đã đăng, mysql_real_escape_string được sử dụng để mã hóa (=thoát) đầu vào của người dùng. Do đó, mã là chính xác, tức là không cho phép bất kỳ cuộc tấn công chèn SQL nào.

Lưu ý rằng rất dễ quên cuộc gọi đến mysql_real_escape_string - và một lần là đủ cho một kẻ tấn công thành thạo! Do đó, bạn có thể muốn sử dụng PDO hiện đại với báo cáo đã chuẩn bị sẵn thay vì adodb.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao lưu cơ sở dữ liệu logic bằng MySQL Shell

  2. Máy chủ 'xxx.xx.xxx.xxx' không được phép kết nối với máy chủ MySQL này

  3. Làm cách nào để tạo người dùng MySQL chỉ đọc?

  4. Mối quan hệ giữa danh mục, lược đồ, người dùng và phiên bản cơ sở dữ liệu

  5. Làm việc với các cột TIMESTAMP của MySQL trong SQL Server