最近我測試了一些表單中帶有隱藏域的一些網站,發現一個比較普遍的BUG!
一、BUG表述
表單代碼如下
<form id='' action='' method=''>
<input type='text' name='' value=''/>
//用戶在這裏輸入信息
<input type='hidden' id='' value =''/>
//隱藏域攜帶一些值
<button type='submit'>提交<button/>
<form/>
知道前端的同學們都知道,瀏覽器當中可右擊檢查代碼,在源代碼中雙擊value就可以手動更改value的值,更改成功過後如果不添加校驗代碼,那麼我將這個錯誤的值通過表單上次後,將對後臺數據造成嚴重的影響。如下圖:
二、BUG解決方案
1、如果表單中隱藏域的值在整個項目中都有使用,可以考慮通過session,在action後臺處理界面中,直接讀取session的值,而不是通過前臺的隱藏域讀取。
2、在表單中,不得不使用隱藏域的時候,我們需要添加js校驗文件,對隱藏域的值進行校驗,檢驗通過後才允許提交表單。