我目前正在使用asp.net MVC創建一個應用程序,我需要驗證用戶是否已經爲他預先生成的內容中選擇了值。根據服務器生成的數據驗證用戶輸入
簡單流程示例:
- 服務器生成一組值:{10%,20%,30%,40%,50%} - 查看示出了具有產生給該用戶的值的下拉 - 用戶必須只選擇其中一個預生成值
考慮到用戶可以修改html並在下拉列表中放置一個隨機值 - 例如80%。我將如何限制/防止這種行爲?
我目前正在考慮使用MemoryCache來存儲允許值的集合並使用用戶ID作爲鍵。不知道是否是最好的解決方案。任何建議將非常感激。
如果在頁面呈現時您有提供給用戶的值,那麼當您以相同方式提交表單並將其與用戶輸入進行比較時,您可以訪問相同的值嗎? – jdurc
@jdurc不是那麼簡單,因爲用戶(正如我之前所說的)可以僞造表單上的值以包含他想要的任何內容。 所以如果服務器已經生成了一組{10%,20%},用戶可以簡單地將它變爲{50%,100%}。然後{50%,10%}將被髮回給控制器,而服務器不知道之前生成的內容。即使用戶修改了頁面上的html,也可以將預生成的值放在哪裏進行驗證。 –
我不太確定你是否理解我的問題。你最初如何爲用戶生成這些值,爲什麼你不能再次做同樣的事情來比較它們與用戶輸入? – jdurc