5

对于 java web 应用程序,通常我们需要在前端使用 javascript 进行验证,然后在后端使用 java 进行验证,一些 java 验证工具,如 hibernate 验证器可以在后端使用,而在客户端有 jquery 表单验证,

但问题是,有没有更简单的方法可以将两者结合起来?例如,当使用带有hiberate验证器的springmvc时,前端验证会自动出现吗?谢谢

4

1 回答 1

2

不要忘记,有两种截然不同的验证形式。

首先,验证以确保用户做出明智的输入。考虑通常的密码/确认密码系统。确认密码字段的唯一意义是防止用户意外给自己带来不便。

类似地,检查有效的电子邮件地址、必填字段等等——它们只是为了确保用户输入他真正的意思。

其次,有验证以确保仅对系统进行合法更改。一个用户不能更改属于另一个用户的数据,员工不能给自己加薪,等等。

第一类验证只需要在 Javascript 中完成。如果他愿意,用户可以击败他们,但他不会伤害任何人,只会伤害自己。

第二种验证必须在后端完成。通常,但并非总是如此,没有必要优雅地犯错。如果用户已经绕过 UI,或者对 AJAX 进行了逆向工程,您不必客气。只需返回 500 并记录入侵。

一些重叠。例如,如果用户正在创建一个(假定的)唯一用户名,那么在通过所有 Javascript 检查后,唯一性检查可能会在最后一秒失败,因为其他人使用了以前未使用的名称。

但这是例外,而不是规则。大多数后端验证只是非常薄的安全性或类似安全性的检查,与前面所做的非常不同。

于 2012-09-04T06:48:32.283 回答