2012-03-10 72 views
0

當輸入文本框被禁用時,您不能在輸入框中輸入任何值。如何阻止人們編輯禁用的輸入框?

但是,如果您使用谷歌瀏覽器並右鍵單擊輸入框,然後單擊檢查,您可以更改值。

如何阻止人們編輯禁用的輸入框?

+9

我認爲阻止這種情況的唯一方法是在提交表單時實現服務器端檢查。 – slash197 2012-03-10 11:48:41

+5

你可以指導客戶通過你的代碼來做到這一點,但有**無法**你可以*強迫他們遵守你的願望。任何人都可以使用他們希望的任何參數向您的服務器腳本發送HTTP請求,而不管您希望他們發送什麼內容。如果你想編寫安全的後端,這是非常重要的。 – 2012-03-10 11:53:11

+0

::嘆息::完全刪除輸入框。問題解決了。或者,你希望它更微妙,如何刪除其'​​ID'屬性,所以它不會被張貼。 – 2012-03-10 11:54:47

回答

6

你不行。你可以做的唯一事情(和總是應該)是驗證用戶在服務器上的輸入。

0

據我所知,被禁用的輸入值不會被髮布到服務器端。因此,如果有人使用工具更改值,修改後的數據將不會發布。

+0

使用相同的工具'disabled'屬性也可以刪除 – 2012-03-10 11:57:48

+3

是的,但是如果有人可以更改禁用控件的值,他們也可以更改'disabled'屬性。然後它會_張貼。 – 2012-03-10 11:59:01

1

您無法阻止人們改變其狀態併發送數據。有兩種方法可以做到這一點

  1. 根本不顯示disabled輸入。就像Zend_Form所做的一樣。
  2. 檢查表單提交時的字段並將其刪除。