日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

测试php数字范围_你不知道的接口测试之拾遗

發布時間:2025/3/19 php 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试php数字范围_你不知道的接口测试之拾遗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

除了前面文章提到的測試之外,還有一些測試也是非常有必要進行的,當然他們執行的頻率沒有那么高。

01

sql注入

我們在login.php中是模擬的查詢數據庫,真正的查詢過程,很可能是由一下sql語句完成的:

select * from user where username='zhq' and pwd='123456'

但是由于,我們的‘zhq’,‘123456’是由參數傳遞過來的一個變量,一些調皮的人就可以通過這兩個參數做文章了,比如估計把zhq傳遞成zhq'-- ,那么到了程序里面執行sql就變成了:

select * from user where username='zhq'-- ‘ and pwd='123456'

那么只要是這個用戶名存在,就會返回數據!!!

對付這種漏洞,開發同學是有辦法的,比如使用功能完畢的框架,開啟相應的模塊等等,這里不多做說明了。

02

并發

我們先開發一個購物的接口,這個接口實現的功能是,每調用一次,商品的庫存就會減少1個單位。


我們使用一個data.txt文件代替數據庫,里面只防止一個數字,比如1000,然后編寫一個文件buy.php代碼如下:

<?php // 告訴瀏覽器返回為json類型 header('Content-Type:application/json; charset=utf-8'); $filename = "./data.txt"; $handle = fopen($filename, "r"); //通過filesize獲得文件大小,將整個文件一下子讀到一個字符串中 $contents = fread($handle, filesize ($filename)); fclose($handle); $handle = fopen($filename, "w"); $contents = $contents -1; fwrite($handle,$contents); fclose($handle); // 組織的數據 $data = array( 'code' => 200, 'msg' => '購買成功', 'result' => array( 'num' => $contents ) ); // PHP數組轉json $rst = json_encode($data,JSON_UNESCAPED_UNICODE); // 打印結果????echo?$rst;

以上代碼,就是讀取data.txt中的數字,做-1操作,我們正常調用結果如下:

{"code":200,"msg":"購買成功","result":{"num":999}}

但是如果這個時候,突然有10臺電腦,在一剎那間同時訪問,這個結果如何呢,data.txt中數字還會是990嗎?下面我們來模擬這個操作:

  • 把data.txt中的文字修改回1000

  • 下載并且啟動jmeter軟件(百度一下如何安裝和配置)

  • 在測試計劃中創建一個線程組,設置10個線程,5秒鐘啟動:

  • 在線程中添加一個http請求

  • 給線程組添加一個同步定時器,設置超時時間是10000毫秒:

  • 給線程組添加一個一個查看結果樹的監聽器:

完成以上操作之后,我們將鼠標選中查看結果樹,然后點擊工具欄運行按鈕,查看最后一個請求返回的結果:

我們可以看到,最后返回的庫存數字竟然是993(這個數字有可能會變化),很明顯庫存并沒有按照我們的預期減少10個單位,變成990 !!!!

我們來強行解釋一波這個錯誤是怎樣發生的:

當一個用戶來購買商品的時候,老板還沒有做減庫存處理(-1的操作),來了第二個人,加塞進來,這個時候老板告訴他的自然是沒有更新過的庫存!

當然開發同學會有解決辦法,比如讓購物的顧客拍個隊,順序執行。

以上就是本篇的兩個方面,在實際測試過程中,測試的頻率要明顯低于功能,但卻很重要,當然開發同學也更會用心去做,所以出現錯誤的機會是很少的。

鏈接:https://www.jianshu.com/p/ee6b0d4d17bc

本文為51Testing經授權轉載,轉載文章所包含的文字來源于作者。如因內容或版權等問題,請聯系51Testing進行刪除

總結

以上是生活随笔為你收集整理的测试php数字范围_你不知道的接口测试之拾遗的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。