[英]Validation in ASP.NET
驗證控件,客戶端JavaScript驗證或服務器端驗證的最佳方法是什么?
正如其他人所說,你應該做到這兩點。 原因如下:
您希望首先在客戶端驗證輸入,因為您可以向普通用戶提供更好的反饋 。 例如,如果他們輸入無效的電子郵件地址並移至下一個字段,則可以立即顯示錯誤消息。 這樣,用戶可以在提交表單之前更正每個字段。
如果您只在服務器上進行驗證,則必須提交表單,收到錯誤消息,並嘗試搜索問題。
您希望在服務器端進行驗證,因為您可以防止惡意用戶 ,他們可能知道如何繞過JavaScript並向服務器提交危險輸入。 無論您嘗試在客戶端進行哪種驗證,服務器都不應該信任來自用戶的輸入。
服務器端驗證對於兼容性也很重要 - 並非所有用戶都啟用了JavaScript。
.NET驗證器同時適用於客戶端和服務器端。
這是最佳實踐,因為您希望客戶端的響應能力,但服務器端的安全性(因為您永遠不應該信任客戶端 - 始終在服務器上驗證)。
例如 - 使用像firebug這樣的工具,javascript可能是活動的,但腳本很容易被篡改(因此它在客戶端上“通過”驗證,即使它不應該)。 您的服務器端代碼不暴露給客戶端,所以你應該永遠也驗證在服務器端。
javascript驗證可以幫助您節省服務器端流量,用戶無需等待,因為他可以獲得即時反饋。 但是用戶可以停用javascript,因此您需要將服務器端驗證作為備份。
都。 客戶端,無需回發即可快速反饋給用戶。 然后再次在服務器端,因為客戶端驗證很容易被繞過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.