簡體   English   中英

為什么在 HTML5 驗證存在時在 Spring MVC 中使用 @Valid

[英]Why use @Valid in Spring MVC when HTML5 Validation exists

當頁面上存在 HTML5 驗證時,為什么要使用 @valid 注解?

我們可以專注於業務邏輯,而不是添加額外的控制器來驗證。 是因為使用 web 頁面有任何錯誤嗎?

您不能讓服務器依賴於客戶端驗證,

如果用戶在未經驗證的情況下使用舊頁面或用戶將直接向服務器發送請求(或用戶操作 HTML 作為@Chris 評論),

然后驗證將不會發生,並且

服務器驗證確保您保持數據完整性

它還可以防止惡意攻擊,例如 SQL 注入(例如,如果您不使用 PrepareStatement)

實際的數據提交請求可以被攔截、捕獲、更改和重放。 在重放期間,惡意用戶可以更改請求的正文以提交他們想要的任何數據。 無論前端技術和框架如何,您的后端最終都會收到數據請求。 您如何處理該請求的內容會有所不同。 這就是為什么您的用戶提交的每一點數據都必須在您的后端進行驗證。

TLDR;:永遠不要相信用戶提交的數據。

暫無
暫無

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

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