SQL 注入实践
目标:
- 使用 netty 实现一个 Http Server。
- 使用 jdbc 连接数据库,构造易受攻击的 SQL 语句。
- 使用预编译语句防范 SQL 注入及实践问题总结。
- 效果展示
1. 使用 netty 实现一个 Http Server
netty 官网:netty.io/
代码参考网址:使用Netty实现HTTP服务器
开发工具:idea
项目类型:Maven
2. 使用 jdbc 连接数据库,构造易受攻击的 SQL 语句
数据库类型:MySQL
代码参考网址:Java MySQL 连接
数据库管理工具:navicat
3. 使用预编译语句防范 SQL 注入及实践问题总结。
-
如何使用 idea 搭建 netty 项目?
-
静态导入
问题:
解决方法:
import static io.netty.handler.codec.http.HttpUtil.is100ContinueExpected;
-
IntelliJ IDEA 编译报错:Error:java: Compilation failed: internal java compiler error
解决办法:为项目选择合适的 jdk 版本
-
jdbc中,字符串拼接的问题
String 类型作为 字段值 拼接查询时,应加上引号,否则 jdbc 会抛出异常
-
URL 转义的问题
本次是通过 url 传入参数的,所以空格会转义成 %20,对用户的输入进行转义也是防止 SQL 注入的一种方式