簡體   English   中英

哪種驗證更適合實踐-服務器端還是客戶端驗證?

[英]What validation is better to practice - Server-side or Client side validation?

我正在制作一個新系統,想知道什么樣的驗證可用於更方便的編碼和安全的系統。

我應該使用服務器端還是客戶端驗證?

絕對需要服務器端驗證,因為客戶端無法將數據強制就位。

客戶端是可選的,因為沒有它,仍然會通過回發捕獲錯誤數據。 有了它,您可以更快地警告用戶存在問題。

我要提一個悲觀的主題-永遠不要信任用戶。 他們要么會犯一個錯誤,要么就是要破壞您的應用程序。

我將通過雙方驗證。 由於兩者都有各自的意義。 如果您僅將驗證放在客戶端,那么有人會使您的生活痛苦不堪。 而且,如果您只是進行服務器端驗證,則每次客戶端必須將完整的數據填充到服務器時,對於任何錯誤,只有他/她才能知道錯誤。 因此,如果僅通過單擊就在此處顯示錯誤,那么這對你們倆都是有益的,因為您不必每次都處理錯誤數據。

我第二點是“ The1nk”。 但是還有一點是,我們必須支持用戶快速響應錯誤和有目的的嘗試,因此客戶端驗證是有效的。

肯定地,您必須同時進行服務器端驗證和客戶端驗證,就像過去一樣,您不必進行硬編碼的Javascript驗證(盡管可以進行復雜的數據驗證)。 如果您想使用一些簡單的驗證方法,則可以使用HTML 5中的許多功能,如下所示,

必須填寫的文本字段:添加html輸入屬性“ required”(注意:此屬性無值)

特定類型的文本字段:在HTML 5中添加了許多不同類型的“類型”屬性值,例如電子郵件,數字,日期等...可以使用它們來驗證那些字段(也有其他屬性可用於那些輸入類型,例如數字的最小值和最大值屬性)

一些有用的鏈接

HTML表單輸入類型

HTML表單屬性

由於這是純HTML,因此可以解決JS的長期問題(如果用戶在瀏覽器中禁用JS,該怎么辦?)。 但是,請記住,“軟件工程中沒有銀彈”-Fred Brooks。

暫無
暫無

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

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