2008-10-17 60 views
2

我工作的一個Web應用程序項目(在Java中,這不是問題),我們有 形式下拉列表和輸入字段等。下拉列表驗證

顯然下拉列表因爲我們期望從一組 值中獲得特定值。

所以我的問題是這樣的。是否有意義確保提交的值在 期望值集合?或者可以接受,假設正確的值是 ?

不存在因提交不同值而產生的任何「錯誤」,但數據存儲將不符合業務規則/要求。

+0

用戶如何提交不在選項列表中的值?您是否試圖捕獲從View Source複製代碼,修改它並提交該代碼?而且,數據存儲沒有對包含可接受值的表的外鍵約束? – DOK 2008-10-17 16:31:00

回答

2

最佳實踐:假設每個用戶都是一個骯髒的黑客,他爲你提供幫助,並將竭盡全力將你的站點關閉。

因此,所有數據都必須經過驗證服務器端。

黑客不使用你的表格。他們創建隨機表單數據並通過其他方式提交。事實上,黑客甚至不知道你的網站是幹什麼的 - 他們的掃描器只是在你的網站上漫遊,並提交了隨機的東西。

我使用廣泛的客戶端驗證(c#驗證器)並驗證我的窗體上的每個字段。這樣,當用戶使用我的表單時,最後碰到服務器時,數據應該是好的。

但是,我們仍然收到不好的數據!這是黑客使用他們自己的工具來探查網站。

這不像我們是一個好目標 - 我們沒有任何財務記錄暴露在網絡中,所以呢?如果你可以免費使用我們的網站。問題是黑客不知道這些,而且正在探查。

2

definetly應該驗證提交的值是否在期望值集合中。這是微不足道的使用螢火蟲提交任何你想要的下拉列表。