测试php数字范围_你不知道的接口测试之拾遗
除了前面文章提到的測(cè)試之外,還有一些測(cè)試也是非常有必要進(jìn)行的,當(dāng)然他們執(zhí)行的頻率沒(méi)有那么高。
01
sql注入
我們?cè)趌ogin.php中是模擬的查詢數(shù)據(jù)庫(kù),真正的查詢過(guò)程,很可能是由一下sql語(yǔ)句完成的:
select * from user where username='zhq' and pwd='123456'但是由于,我們的‘zhq’,‘123456’是由參數(shù)傳遞過(guò)來(lái)的一個(gè)變量,一些調(diào)皮的人就可以通過(guò)這兩個(gè)參數(shù)做文章了,比如估計(jì)把zhq傳遞成zhq'-- ,那么到了程序里面執(zhí)行sql就變成了:
select * from user where username='zhq'-- ‘ and pwd='123456'那么只要是這個(gè)用戶名存在,就會(huì)返回?cái)?shù)據(jù)!!!
對(duì)付這種漏洞,開(kāi)發(fā)同學(xué)是有辦法的,比如使用功能完畢的框架,開(kāi)啟相應(yīng)的模塊等等,這里不多做說(shuō)明了。
02
并發(fā)
我們先開(kāi)發(fā)一個(gè)購(gòu)物的接口,這個(gè)接口實(shí)現(xiàn)的功能是,每調(diào)用一次,商品的庫(kù)存就會(huì)減少1個(gè)單位。
我們使用一個(gè)data.txt文件代替數(shù)據(jù)庫(kù),里面只防止一個(gè)數(shù)字,比如1000,然后編寫(xiě)一個(gè)文件buy.php代碼如下:
以上代碼,就是讀取data.txt中的數(shù)字,做-1操作,我們正常調(diào)用結(jié)果如下:
{"code":200,"msg":"購(gòu)買(mǎi)成功","result":{"num":999}}但是如果這個(gè)時(shí)候,突然有10臺(tái)電腦,在一剎那間同時(shí)訪問(wèn),這個(gè)結(jié)果如何呢,data.txt中數(shù)字還會(huì)是990嗎?下面我們來(lái)模擬這個(gè)操作:
把data.txt中的文字修改回1000
下載并且啟動(dòng)jmeter軟件(百度一下如何安裝和配置)
在測(cè)試計(jì)劃中創(chuàng)建一個(gè)線程組,設(shè)置10個(gè)線程,5秒鐘啟動(dòng):
在線程中添加一個(gè)http請(qǐng)求
給線程組添加一個(gè)同步定時(shí)器,設(shè)置超時(shí)時(shí)間是10000毫秒:
給線程組添加一個(gè)一個(gè)查看結(jié)果樹(shù)的監(jiān)聽(tīng)器:
完成以上操作之后,我們將鼠標(biāo)選中查看結(jié)果樹(shù),然后點(diǎn)擊工具欄運(yùn)行按鈕,查看最后一個(gè)請(qǐng)求返回的結(jié)果:
我們可以看到,最后返回的庫(kù)存數(shù)字竟然是993(這個(gè)數(shù)字有可能會(huì)變化),很明顯庫(kù)存并沒(méi)有按照我們的預(yù)期減少10個(gè)單位,變成990 !!!!
我們來(lái)強(qiáng)行解釋一波這個(gè)錯(cuò)誤是怎樣發(fā)生的:
當(dāng)一個(gè)用戶來(lái)購(gòu)買(mǎi)商品的時(shí)候,老板還沒(méi)有做減庫(kù)存處理(-1的操作),來(lái)了第二個(gè)人,加塞進(jìn)來(lái),這個(gè)時(shí)候老板告訴他的自然是沒(méi)有更新過(guò)的庫(kù)存!
當(dāng)然開(kāi)發(fā)同學(xué)會(huì)有解決辦法,比如讓購(gòu)物的顧客拍個(gè)隊(duì),順序執(zhí)行。
以上就是本篇的兩個(gè)方面,在實(shí)際測(cè)試過(guò)程中,測(cè)試的頻率要明顯低于功能,但卻很重要,當(dāng)然開(kāi)發(fā)同學(xué)也更會(huì)用心去做,所以出現(xiàn)錯(cuò)誤的機(jī)會(huì)是很少的。
鏈接:https://www.jianshu.com/p/ee6b0d4d17bc
本文為51Testing經(jīng)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載文章所包含的文字來(lái)源于作者。如因內(nèi)容或版權(quán)等問(wèn)題,請(qǐng)聯(lián)系51Testing進(jìn)行刪除
戳總結(jié)
以上是生活随笔為你收集整理的测试php数字范围_你不知道的接口测试之拾遗的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 步步高vivo高通解锁工具_高通人工智能
- 下一篇: 一件代发系统php网站源码_靠谱礼品代发