• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

MySQL数据库的SQL注入与JUnit的使用

技术杂谈 勤劳的小蚂蚁 3个月前 (01-12) 93次浏览 已收录 0个评论 扫描二维码

SQL注入
首先我们先来用 JDBC 写一个登录的验证~还是按照先前的步骤~我们走起

完成了登录的查询验证逻辑,现在我们来模拟一下登录操作~,(我们主要讲的是数据库的内容,所以没有写前端的页面),假设下面的“lisi”和“444”就是我们从前端页面获取到的用户输入的用户名和密码~

先看一下,我们的用户表中只有两条数据~

运行了一下代码
登陆成功~

好~下面我们就要搞事情了~,仔细看一下我输入的用户名和密码~

我们的数据库中根本就不存在一个用户名为“wangwu”,密码为“1”的这样一个信息~但是我们通过了数据库的登录信息验证,成功的登录进了系统~~怎么样是不是很6~

这就是 SQL 注入了,在输入数据的地方输入 SQl 片段,然后在后台,和我们预先写好的 SQL 语句,拼接成新的 SQL 语句,通过这个 SQL 语句我们通过了数据库的验证~

那么如何解决这个问题:
那就是使用 PreparedStatement,PreparedStatement 叫做预编译声明,是 Statement 的子接口,我们可以使用PreparedStatement 来代替 Statement 。

PreparedStatement的好处:
1)防止 SQL 攻击。
2)提高代码的可读性,以及可维护性。
3)提高效率。

下面来给大家演示一下~只有圈起来的地方不一样~剩下的内容是不变的~

现在我们再来测试一下SQL注入,就没有效果了。
攻击自己的系统也算是一种成就吧!
为了防止自己被攻击
你知道该怎么做了吧~

今天除了说 SQL 的注入还要给大家介绍一个工具 JUnit~
Junit 单元测试
JUnit是一个 Java 语言的单元测试框架。属于第三方工具,一般情况下需要导入 jar 包,不过现在大部分的 Java开发环境已经集成了 JUnit 作为单元测试工具。

我们可以简单的理解为这是用来取代 java 的 main 方法的~使用方法也很简单直接在测试方法上添加注解 @Test 就好,下面我们来演示一下~

建议方法名以 test 开头,用鼠标点击@Test,使用快捷键“Ctrl+1”,点击“Add JUnit …” 添加成功后项目目录就像图中标出的那样

注意运行的时候要选择“JUnit Test”

这就是测试成功的样子哦~

常用的注解除了 @Test 还有 @Before @After 它们的含义如下:
@Before 测试方法前执行的方法
@After 测试方法后执行的方法 
以后就使用这个方法来测试代码吧~


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:MySQL数据库的SQL注入与JUnit的使用
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00