sql注入原理:
通过把SQL命令插入到Web表单或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
sql注入模型:
防止SQL注入:
- 严格的数据类型
- 特殊字符转义
- 使用预编译语句
- 框架技术
- 存储过程
在服务端要对所有的输入数据验证有效性。
在处理输入之前,验证所有客户端提供的数据,包括所有的参数、URL和HTTP头的内容。
验证输入数据的类型、长度和合法的取值范围。
使用白名单验证允许的输入字符而不是黑名单。
在危险字符输入后进行转义或编码。
明确所有输入正确的字符集。
不使用动态拼接的SQL语句,如果使用对特殊字符进行转义。