假设我们在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注入?我们如何检查恶意字符?
答案 0 :(得分:0)
最好的办法是将SQL从不属于它的DTO移动到它所属的DAO,并在那里使用PreparedStatement。
答案 1 :(得分:0)
这是在JDBC中使用PreparedStatement
的{{3}}。如果你四处搜寻,还有很多其他人。
为了记录,我必须说我不同意这样的说法,即准备好的声明的主要优点是它可以(虽然不一定)提前发送到数据库。主要优点是参数。