1.應用場景
用於請求接口測試.[比如後端接口安全測試] |
2.學習/操作
前言: 服務器端驗證是必要的.
方法彙總 方法一
方法二 //即 使驗證的js腳本不生效.
方法三
方法四
總結: 繞開前端的驗證的方式有很多種,因此在系統中如只加入前端的有效驗證,而忽略服務器端驗證,是一件很可怕的事情; 但如果只有服務器端驗證就那麼服務器端的負擔會加重,因爲前端驗證可以保證大部分請求是有效,友善的; 所以我們應該在自己的系統中將其這兩種驗證方式結合起來使用. |
3.問題/補充
1.如果客戶端禁用了 javascript 那如何進行驗證?
服務端是必須進行驗證的,這是最後一道防線,馬虎不得。 舉個例子:如果服務端不驗證,那麼完全可以在任何連接互聯網的地方重寫一個沒有JS驗證的表單,然後提交給你網站的程序,後果可想而知,幾乎就是自由出入.
客戶端的JS驗證其實質是提升用戶體驗,可以讓用戶提前知道填寫資料的對錯,否則等到一提交,再返回個錯誤,把原來填的都清空了,那就抓狂了 根據Javascript優雅退化的原則,頁面要在禁用JS的情況下仍然能夠正常使用。雖然可能用戶體驗差了點,少了某些效果,但基本的功能都還是可以實現的. 所以,不要過分地依賴JS,服務端該驗證的還得驗證.
寫服務器程序,給你一個提醒: 不要相信任何客戶端數據, JS只是一個輔助驗證, 是爲了減輕不必要的提交, 比如提交大堆數據過去, 發現有一個數據不合法, 這樣豈不是浪費服務器資源?!
但服務器端的是少不了這些驗證的, 因爲提交者可能不是瀏覽器,即一些模擬發送工具.
2.服務器是否能區分請求是來自於瀏覽器還是模擬請求工具? TBD
|
4.參考
http://www.360doc.com/content/13/0925/21/13812121_317077519.shtml //介紹幾個繞開JS驗證的方法(服務器端驗證是必要的) https://blog.csdn.net/william_n/article/details/104995351 // 瀏覽器 個人實踐/理解 |
後續補充
...