介面引數校驗checklist

2022-09-19 12:57:14 字數 698 閱讀 3463

正常情況下,前後端對於請求的引數都需要校驗的,這能提高應用程式的穩定性、可維護性,而對於前後臺如果能將這種不可缺少校驗規則彙總並制定一套規範,在每乙個應用程式中都使用這種規範,能給帶來不少好處。那在哪些情況下適合使用前、後端校驗了:

當介面請求引數不符合

api約定,期望返回明確的提示資訊

引數校驗點

介面返回建議

引數缺少時

引數必填校驗

例如:account不能為空

引數邊界值校驗

例如:賬號長度必須是6-11個字元

引數型別

例如:amount必須為正整數

列舉不匹配

例如:證件型別不正確

身份許可權驗證

例如:普通使用者操作管理員功能

密碼不能明文傳輸

上傳檔案介面

例如只能上傳

不可以上傳其他檔案或者偽裝成的可執行檔案

寫介面不能寫入可造成xss攻擊的內容

例如驗證:

,看資料庫是否把

<>替換成其他字元< >或者被過濾掉

複雜事務流程不能跳過某項流程

例如:某個事務流程是a->b->c->d才能完成

驗證項:a->b->d

事務要拒絕或者並且將狀態重置回初始狀態

參照:[1]

[2]

介面測試 引數校驗

其他 如下 示例 public class supermarket 必傳 1.如果我不傳業務邏輯會怎樣 比如走到下游?邏輯不合理?不傳的預期結果是啥?非必傳 不傳會走到預設值,會對業務有哪些影響 比如 已知integer title的值肯定會大於0,那需要校驗值為 1 string傳空字串,stri...

thinkphp5 構建介面引數校驗層

1,為什麼要封裝gocheck方法?namespace use class banner else 引數的驗證的流程 在控制層banner.php中校驗http引數首先是獲取引數,然後呼叫它的驗證規則。如果沒有符合它的驗證規則,還需要自定義驗證規則具體請參照自定義驗證規則一節。如果每乙個控制器的方法...

Spring MVC 引數校驗

method requestmethod.get responsebody public ajaxresult getallrulesbyquery requestparam value statestr required false string statestr,requestparam val...