L'injection SQL est l'une des méthodes d'attaque réseau les plus courantes. Elle n'utilise pas le BUG du système d'exploitation pour réaliser l'attaque, mais cible la négligence du programmeur lors de la programmation, elle peut se connecter sans compte ou. même falsifier la base de données.
Méthode d'arrière-plan Java pour empêcher l'injection SQL :
1. Utilisez un ensemble d'instructions précompilé, qui a la capacité intégrée de le faire. gérer l'injection SQL, utilisez simplement sa méthode setString pour transmettre la valeur :
String sql= "select * from users where username=? and password=?; PreparedStatement preState = conn.prepareStatement(sql); preState.setString(1, userName); preState.setString(2, password); ResultSet rs = preState.executeQuery();
2. Utilisez des expressions régulières pour remplacer les instructions contenant des guillemets simples ('), des points-virgules (;) et des symboles de commentaire (--) Supprimer pour empêcher Injection SQL
public static String SQL(String str) { return str.replaceAll(".*([';]+|(--)+).*", " "); } userName=SQL(userName); password=SQL(password); String sql="select * from users where username='"+userName+"' and password='"+password+"' " Statement sta = conn.createStatement(); ResultSet rs = sta.executeQuery(sql);
Recommandations associées : "Tutoriel Java"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!