簡體   English   中英

在ASP.NET中驗證

[英]Validation in ASP.NET

驗證控件,客戶端JavaScript驗證或服務器端驗證的最佳方法是什么?

正如其他人所說,你應該做到這兩點。 原因如下:

客戶端

您希望首先在客戶端驗證輸入,因為您可以向普通用戶提供更好的反饋 例如,如果他們輸入無效的電子郵件地址並移至下一個字段,則可以立即顯示錯誤消息。 這樣,用戶可以提交表單之前更正每個字段。

如果您只在服務器上進行驗證,則必須提交表單,收到錯誤消息,並嘗試搜索問題。

服務器端

您希望在服務器端進行驗證,因為您可以防止惡意用戶 ,他們可能知道如何繞過JavaScript並向服務器提交危險輸入。 無論您嘗試在客戶端進行哪種驗證,服務器都不應該信任來自用戶的輸入。

服務器端驗證對於兼容性也很重要 - 並非所有用戶都啟用了JavaScript。

JavaScript ClientSide與S​​erverSide驗證

.NET驗證器同時適用於客戶端和服務器端。

這是最佳實踐,因為您希望客戶端的響應能力,但服務器端的安全性(因為您永遠不應該信任客戶端 - 始終在服務器上驗證)。

例如 - 使用像firebug這樣的工具,javascript可能是活動的,但腳本很容易被篡改(因此它在客戶端上“通過”驗證,即使它不應該)。 您的服務器端代碼不暴露給客戶端,所以你應該永遠驗證在服務器端。

javascript驗證可以幫助您節省服務器端流量,用戶無需等待,因為他可以獲得即時反饋。 但是用戶可以停用javascript,因此您需要將服務器端驗證作為備份。

都。 客戶端,無需回發即可快速反饋給用戶。 然后再次在服務器端,因為客戶端驗證很容易被繞過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM