2017-01-28 27 views
0

我有一個表單有幾個單選按鈕,必填字段和勾選框,需要在提交前完成。我一直在測試表單,並使用檢查器工具,我可以更改單選按鈕的值,刪除必需的字段元素,並刪除滴答按鈕元素,並將其提交到我的數據庫沒有任何問題。如何防止用戶使用檢查器工具更改表單值或刪除輸入字段元素?

如何防止這種情況發生?

比如我的表單字段:

<input type="checkbox" required name="terms">I agree to the <a href="/terms-and-conditions" target="_blank"> Terms and Conditions</a></label> 

<input type="radio" name="medicalAilments" value="No">No</label> 

<input type="email" id="userEmail" class="form-control" required name="userEmail"> 

回答

8

簡短的回答:你不能。即使你以某種方式可以禁止在Web瀏覽器中進行編輯,什麼讓你的客戶免受使用cURL嘲諷格式錯誤的請求?我假設你將這個表單發佈到一個Web服務器上,在這種情況下,你應該在你的服務器上進行驗證,並且如果必填字段不存在,則返回一個錯誤。一個很好的經驗法則是永遠不要相信客戶端。修改請求並添加/刪除/修改值是微不足道的。

+0

所以基本上我應該在後端做額外的驗證。 – Recap

+1

是的,你應該總是在後端進行驗證。您可以在客戶端上進行**額外**驗證,但這純粹是爲了用戶體驗。惡意用戶可以輕鬆繞過任何客戶端保護。 – bejado

相關問題