2013-10-24 59 views
1

我有一個奇怪的問題。我將一些數據存儲在隱藏字段中。當我通過檢查元素改變隱藏字段的值時,它也會在服務器端進行更改。通過檢查元素更改隱藏字段的值在服務器端更改實際值

與實際值隱藏字段

Hidden field with actual value

值改變通過檢查元件在服務器側

Value changed through inspect element

結果

Result in server side

我希望用戶不要更改隱藏值,或者用戶更改的值不應影響實際值。 任何人都可以請幫我解決這個問題嗎?

+0

你是什麼意思的「在服務器端」? – Sadjad

+1

我想你錯了。你檢查的是在客戶端。知道爲什麼要將數據存儲在不希望用戶更改的隱藏字段中會更有趣。也許你可以找到更好的選擇。 – Trace

+3

如果計算此值(84),則需要在服務器端重新計算以確保它適合。你永遠不要相信你自己的形式。用戶一直在改變它的風險。如果這是一個價格,請提交產品的ID並重新計算。無論您如何在客戶端獲得此號碼,您都可以在服務器端獲得此號碼 – Bene

回答

4

不可能阻止某人修改控制檯中的DOM。

在對它們進行任何操作之前,您需要驗證發送到您的服務器的值在服務器端是否有效。

如果你有一些你不希望任何人修改的數據,你需要一些加密方法,或者根本不在客戶端顯示。

+0

謝謝..我們通過檢查元素改變了標籤,按鈕等asp控件的值,但是在服務器端,我們沒有得到更改的值。所以我的問題是,標籤和隱藏字段有什麼區別?怎麼運行的? – Sudha

+2

@Sudha標籤和按鈕沒有在表單中提交的值。隱藏的表單域可以。它們被髮布到您的服務器端代碼。 –

+0

謝謝你的解釋。它幫助我很多。 – Sudha

4

知識淵博的用戶可以隨時更改隱藏的表單值,並將它們提交給您的代碼。

如果您需要存儲有關用戶的數據而無法更改,那麼您需要將它們存儲在服務器端(例如在數據庫中),而不是在客戶端上。

相關問題