Python社区  »  DATABASE

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

Java编程精选 • 11 月前 • 95 次点击  

点击上方“Java编程精选”,选择“置顶公众号”

关键时刻,第一时间送达!











































































































































































































































































































    先不说楚枫的这般年纪,能够踏入元武一重说明了什么,最主要的是,楚枫在刚刚踏入核心地带时,明明只是灵武七重,而在这两个月不到的时间,连跳两重修为,又跳过一个大境界,踏入了元武一重,这般进步速度,简直堪称变态啊。


    “这楚枫不简单,原来是一位天才,若是让他继续成长下去,绝对能成为一号人物,不过可惜,他太狂妄了,竟与龚师兄定下生死约战,一年时间,他再厉害也无法战胜龚师兄。”有人认识到楚枫的潜力后,为楚枫感到惋惜。


    “哼,何须一年,此子今日就必败,巫九与龚师兄关系甚好,早就看他不顺眼了,如今他竟敢登上生死台挑战巫九,巫九岂会放过他?”但也有人认为,楚枫今日就已是在劫难逃。


    “何人挑战老子?”就在这时,又是一声爆喝响起,而后一道身影自人群之中掠出,最后稳稳的落在了比斗台上。


    这位身材瘦弱,身高平平,长得那叫一个猥琐,金钩鼻子蛤蟆眼,嘴巴一张牙带色儿,说话臭气能传三十米,他若是当面对谁哈口气,都能让那人跪在地上狂呕不止。


    不过别看这位长得不咋地,他在核心地带可是鼎鼎有名,剑道盟创建者,青龙榜第九名,正是巫九是也。


    “你就是巫九?”楚枫眼前一亮,第一次发现,世间还有长得如此奇葩的人。


    巫九鼻孔一张,大嘴一咧,拍着那干瘪的肚子,得意洋洋的道:“老子就是巫九,你挑战老子?”


    “不是挑战你,是要宰了你。”楚枫冷声笑道。


    “好,老子满足你这个心愿,长老,拿张生死状来,老子今日在这里了解了这小子。”巫九扯开嗓子,对着下方吼了一声。


    如果他对内门长老这么说话,也就算了,但是敢这么跟核心长老说话的,他可真是算作胆肥的,就连许多核心弟子,都是倒吸了一口凉气,心想这楚枫够狂,想不到这巫九更狂。


    不过最让人无言的就是,巫九话音落下不久,真有一位核心长老自人群走出,缓缓得来到了比斗台上,左手端着笔墨,右手拿着生死状,来到了巫九的身前。


    “我去,这巫九什么身份,竟能这般使唤核心长老?”有人吃惊不已,那长老修为不低,乃是元武七重,比巫九还要高两个层次,但却这般听巫九的话,着实让人吃惊不已。


    “这你就不知道了吧,巫九在前些时日,拜了钟离长老为师尊,已正式得到钟离长老的亲传。”有人解释道。


    “钟离长老?可是那位性情古怪的钟离一护?”


    “没错,就是他。”


    “天哪,巫九竟然拜入了他的门下?”


    人们再次大吃一惊,那钟离一护在青龙宗可是赫赫有名,若要是论其个人实力,在青龙宗内绝对能够排入前三,连护宗六老单打独斗都不会是他的对手。


    只不过那钟离一护,如同诸葛青云一样,也是一位客卿长老,所以在青龙宗内只是挂个头衔,什么事都不管,更别说传授宗内弟子技艺了,如今巫九竟然能拜入他老人家门下,着实让人羡慕不已。


    “恩怨生死台,的确可以决斗生死,但必须要有所恩怨,你们两个人,可有恩怨?”那位长老开口询问道。































































































今天我们来玩点好玩的

相信很多小伙伴学都有一个梦想

成为一个顶尖的黑客

今天我们就满足一下虚荣心

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 测试方法后执行的方法 

以后就使用这个方法来测试代码吧~


那么今天就到这里了

拜拜了


  • 来源:java联盟

  • https://mp.weixin.qq.com/s/PILw5DJYTmAnPETgOCqObg

  • Java编程精选整理发布,转载请联系作者获得授权

【点击成为源码大神】


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/9thIoQUmUz
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21585
 
95 次点击  
分享到微博