簡體   English   中英

如果客戶端先運行,asp.net mvc 5應該運行服務器端驗證

[英]asp.net mvc 5 should server side validation run if client side runs first

我有一個運行服務器端的驗證屬性類,該類檢查表單文本框。 我還在javascript調用中在客戶端實現了它。 我的問題是,如果客戶端被調用並返回true,服務器端也應被調用嗎? 應該同時調用客戶端和服務器端嗎? 看來,如果客戶端驗證通過,則無需在服務器端再次調用任何種類的驗證。 檢查兩次似乎有點多余。

客戶端驗證是為了方便。 服務器端驗證是真正的驗證。 無論如何,您永遠都不應信任客戶端,因此無論如何都應運行服務器端驗證。

是的,絕對應該。

原因是因為如果有人繞過您的網站並直接向您的服務器撥打電話該怎么辦? 如果他們試圖輸入不良數據破壞您的網站怎么辦? 如果沒有服務器端的驗證,那么您將無法獲得保護。

進行客戶端驗證的原因是,您可以快速向用戶提供反饋以糾正錯誤,甚至可以在鍵入錯誤時無需回發。

服務器端驗證的原因是提供更復雜的驗證,其中可能涉及數據庫查找,最重要的是保護服務器免受惡意用戶的侵害。

客戶端驗證只是減少服務器端工作量的一種方法,因為一旦客戶端驗證為真,則在服務器端應用程序中將為真。 有時,人們可能會繞過客戶端驗證,而服務器端驗證將幫助您進行客戶端驗證。 最好總是進行服務器端驗證,但是只是為了減少對服務器的驗證請求,客戶端-服務器可以幫助您先確認請求再發送到服務器,如果請求為假,則不會請求到服務器端。

暫無
暫無

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

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