Я новичок в JavaEE и пытаюсь научиться делать простую страницу входа, проверяя базу данных. Вот пример кода:Устранение SQL-инъекции в java
ResultSet result=null;
Statement s = (Statement) con.createStatement();
result=s.executeQuery("select username from Table where ID="+id and " password="+password);
Он должен быть уязвим для SQL-инъекции справа? Я хотел бы сделать это с помощью параметризованную запроса в ASP.NET, как следующее:
SqlConnection con = new SqlConnection();
SqlCommand cmd=new SqlCommand("select username from Table where [email protected] and [email protected]",con);
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@password", password);
Есть ли способ использовать параметризованные запросы в Java, как это? Может ли кто-либо использовать этот запрос в параметризованной форме, чтобы избежать инъекции SQL?
Благодаря
Да, используйте 'PreparedStatement'. –
Почему бы не использовать ORM? Спящий режим или любой другой? – Ayman
http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html –