Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL инжекция в Java и MySQL при използване на множество заявки

Разбира се, ако промените комбинацията си база данни/драйвер от текущата си реализация към нещо, поддържащо множество заявки, тогава ще активирате спяща дупка в сигурността, за която (без съмнение) хората ще са забравили!

Пренебрегвайки злонамерените, злонамерени сценарии, горното ще ви създаде проблеми с вмъкването на редовни данни, включително знаци за кавички и т.н., т.е. горното просто няма да работи за конкретни набори от данни (освен ако не са почистени/изтрити и т.н.). Бих го коригирал просто за функционални цели.

Трябва да погледнете PreparedStatement и методите за вмъкване на данни за това (setString() ) и др.

напр.:

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

Методът setString() ще поддържа всеки низ без проблеми с екраниране/инжектиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL конкатенация на всички колони

  2. Как да актуализирате стойността на външния ключ в базата данни на mysql

  3. Как да получите записи за текущия месец в MySQL

  4. Вземете списък с дати между две дати

  5. Стартирайте MySQL Server като услуга (Win 8)