1、sql注入
如何防止SQL注入
- 替换到查询之前,我们需要做验证。移除特殊字符如单引号,关键词像select, union...
- 使用Prepared Statement和占位符
- Prepared Statement防止sql注入的方法是ps.setString(1,user)该方法可以对所有数据可以进行校验,移除特殊字符或者转义
1 | PreparedStatement preparedStatement=conn.prepareStatement( 'SELECT * FROM usercheck where username=?' ) ; |
2 | preparedStatement.setString( 1 , user); |
现在如果你使用sql注入 sdfssd' or '1'='1 那么
1 | SELECT * FROM User where userId= 'sdfssd\' or \'1\'=\'1' |