1、严格的数据类型
http://192.168.1.100/delete?userid=userid
检查userid必须是int类型,避免清库
delete from user where userid=userid
2、特殊字符的处理
账号中不能有# \ ?等特殊字符,注:单引号在英语中是有效的,比如:Shaquil O'neal
3、使用预编译(绑定变量)
SQL注入是拼接的语句,改变了原始SQL的语义(向后结合以及单引号闭合)。通过绑定变量把入参作为一个整体,不会改变语义
4、使用ORM框架Hibernate、Mybatis
不使用动态组装SQL,而是 SetParameter