已經寫了很多關於不僅僅依賴於客戶機驗證的文章;這只是爲用戶提供便利,並減少了服務器處理。這不是問題所在。ASP.NET MVC JQuery數據-val-regex-模式安全性
我不知道這是特定於ASP.NET MVC還是所有JQuery驗證,但這是我的問題來自何處。當你在啓用clientsidevalidation的情況下使用ReqularExpressionAttribute時,HTML輸出如下所示:data-val-regex-pattern =「^ [0-9a-zA-Z] {3,12} $」只是一個基本示例。
這不是非常不安全,明確地提供了你的表達檢查和沒有檢查什麼?當用戶可以很容易地讀取它的確切內容時,似乎在驗證方案中利用漏洞更容易。這與服務器使用的表達式是一樣的,所以他們可以看到服務器也檢查了什麼。
UPDATE
我的例子表達並不是描述問題非常好。這是關於更復雜的數據值,它有非常嚴格的格式,你無意中忽略了一些漏洞
這取決於開發模式的後果。如果這是唯一的驗證放在字段和任何通過驗證可能會導致災難性的副作用,那麼我會添加一些額外的驗證。 – SilverlightFox 2012-04-16 08:39:10