sql >> Database >  >> RDS >> Mysql

Voorkom SQL-injectieaanvallen in een Java-programma

U moet PreparedStatement gebruiken .e.g.

String insert = "INSERT INTO customer(name,address,email) VALUES(?, ?, ?);";
PreparedStatement ps = connection.prepareStatement(insert);
ps.setString(1, name);
ps.setString(2, addre);
ps.setString(3, email);

ResultSet rs = ps.executeQuery();

Dit voorkomt injectieaanvallen.

De manier waarop de hacker het daar plaatst, is als de string die u invoegt ergens vandaan komt - b.v. een invoerveld op een webpagina, of een invoerveld op een formulier in een applicatie of iets dergelijks.



  1. SQL Server 2012 opvragen van Access 2007-gegevens met behulp van OPENROWSET-fout

  2. JDBC ResultSet getDate verliest precisie

  3. Kolom met hogere kardinaliteit eerst in een index bij een bereik?

  4. Spring Batch ORA-08177:kan de toegang voor deze transactie niet serialiseren bij het uitvoeren van een enkele taak, GESERIALISEERD isolatieniveau