假设有登录案例SQL语句如下:
SELECT * FROM 用户表
WHERE NAME = 用户输入的用户名 AND PASSWORD = 用户输的密码;
此时,当用户输入正确的账号u密码后,查询到了信息则让用户登录。
但是当用户输入的账号为XXX 密码为:XXX’ OR ‘a’=’a时
则真正执行的代码变为:
SELECT * FROM 用户表 WHERE NAME = ‘XXX’ AND PASSWORD =’ XXX’ OR ‘a’=’a’;
此时,上述查询语句时永远可以查询出结果的。那么用户就直接登录成功了,显然我们不希望看到这样的结果,这便是SQL注入问题。
为此,我们使用PreparedStatement来解决对应的问题。
|
|