问题描述
|
假设我们在DTOObject中有数据
public void loginUser(UserDTO)
{
String name = UserDTO.getName();
String pwd = UserDTO.getpassword();
String sql = \"select UNAME,PWD from LoginTable where uname=\'\"+name+\"\' and PWD=\'\"+pwd+\"\';
}
请在这段代码中告诉我,如何防止sql注入?我们如何检查恶意字符?
解决方法
最好的选择是将SQL从不属于DTO的DTO移至它所属的DAO,然后在其中使用PreparedStatement。
, 这是有关在JDBC中使用ѭ1的官方教程。如果您四处搜寻,还有很多其他内容。
作为记录,我必须说我不同意这样的说法,即预准备语句的主要优点是可以(尽管不一定)将其预先发送到数据库。主要优点是参数。