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

SQL Injection trong Java và MySQL khi sử dụng nhiều truy vấn

Tất nhiên, nếu bạn thay đổi tổ hợp cơ sở dữ liệu / trình điều khiển của mình từ triển khai hiện tại thành thứ gì đó hỗ trợ nhiều yêu cầu, thì bạn sẽ kích hoạt một lỗ hổng bảo mật không hoạt động mà mọi người (chắc chắn) sẽ quên mất!

Bỏ qua các tình huống bất chính, độc hại, những điều trên sẽ khiến bạn gặp sự cố khi chèn dữ liệu thông thường, bao gồm các ký tự trích dẫn, v.v. tức là những điều trên chỉ sẽ không hoạt động cho các bộ dữ liệu cụ thể (trừ khi được làm sạch / sửa lỗi, v.v.). Tôi sẽ sửa nó đơn giản cho các mục đích chức năng.

Bạn nên xem PreparedStatement và các phương pháp chèn dữ liệu cho điều này ( setString () ) vv

ví dụ:

   PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   pstmt.setBigDecimal(1, 153833.00)
   pstmt.setString(2, "Insert what you like here")

Phương thức setString () sẽ hỗ trợ bất kỳ chuỗi nào mà không gặp sự cố thoát / chèn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mảng truy vấn Meta trong WordPress

  2. Pymysql Cursor.fetchall () / Fetchone () Trả về Không có

  3. Làm cách nào để thực hiện ba lệnh THAM GIA bảng trong truy vấn CẬP NHẬT?

  4. Lưu trữ các ngày không phải Gregorian trong loại ngày của Mysql

  5. Kết quả Mysql trong PHP - mảng hay đối tượng?