我遇到了我期望的在web開發中的一個常見問題。我有一個ASP.NET MVC 2.0電子商務網站。我通過視圖模型將項目成本傳遞到產品頁面視圖 - 此成本可能因用戶類型,用戶歷史記錄,購買數量等而異。ASP.NET MVC - 確保數據完整性
我想保證當用戶提交表單購買該產品,我原來發送的成本是相同的,即視圖模型的成本屬性沒有改變。對於普通用戶來說,這不是問題,但對於惡意的人來說,在途中更改價值是相對簡單的,這樣我的產品成本就會降低,例如$ 1而不是$ 999。
顯然,我可以回到數據庫並在表單提交後重新計算成本 - 但這看起來像是一個昂貴的操作,我想知道這是如何正常完成的。我腦海中最明顯的解決方案是獲取字段的哈希碼(或者只是加密值),並將其作爲隱藏輸入添加到表單中,並確保成本字段的哈希碼(或加密值)相同。
有誰能告訴我這是如何定期完成和/或如果我的建議解決方案有問題?
由於提前,
JP
謝謝丹!我有點期待這個答案,但我喜歡有一個像StackOverflow這樣的地方,我可以問我的「基本」問題! – 2010-11-01 03:19:05