正如我们所知,避免sql注入的最好方法是使用带有绑定变量的准备好的语句。但我有我如果用刚刚准备什么 声明,但没有绑定变量了下方的客户编号是从用户界面来问题SqlInjection with prepared statement without bind variable?
String query ="select * from customer where customerId="+customerId;
PreparedStatement stmt = con.prepareStatement(query); //line1
请问1个线照顾限制,即使我没有使用绑定变量的SQL注入?
我同意最好的办法是低于但如果上述方法还需要restrcting SQL注入的护理的话,我宁愿上面一个(如 其遗留项目)
String query ="select * from customer where customerId=?";
PreparedStatement stmt = con.prepareStatement(query);
stmt.setInt(1, 100);
准备语句不使用绑定变量足以确保SQL注入不可能?或
无sql注入行1 – BlackJoker 2013-04-23 06:35:24
你的意思是只使用准备好的语句,而不使用绑定变量足以确保SQL注入不可能? – 2013-04-23 06:38:02
我简单的意思是SQL注入不会发生在line1中。不管是否使用变量绑定,使用准备好的语句都是足够的 – BlackJoker 2013-04-23 06:40:52