ASP.NET 中输入验证的最佳实践?
输入验证的常见做法是什么?换句话说,您是否在客户端、服务器端或两侧检查输入验证?
另外,如果性能对我来说至关重要,那么仅客户端输入验证就足以满足我的网站的需求,而不会带来任何安全风险吗?
What is the common practice of input validation? In other words do you check for input validation on client-side, on server-side or on both sides?
Also, if performance is crucial to me, would just the client-side input validation be sufficient for my website without presenting any security risks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(6)
薯片软お妹2024-09-15 06:30:11
不要依赖客户端验证!!!
它只适合诚实的用户。不诚实的用户可以立即绕过它。
如果我关闭 Javascript,我就可以把你的应用程序搞砸。 并不难
始终将服务器端验证放入... Web 表单
''# VB
If Page.isValid Then
''# submit your data
End If
// C#
if(Page.isValid) {
// submit your data
}
MVC
''# VB
If ModelState.IsValid Then
''# submit your data
End If
// C#
if(ModelState.IsValid) {
// submit your data
}
一旦服务器端验证正常运行,就可以继续添加客户端验证。它将为用户带来更好的体验
岁月静好2024-09-15 06:30:11
我建议的一件事是使用 FluentValidation, xVal 和 JQuery 一起执行客户端和服务器端验证基于相同的规则。
FluentValidation 是一个基于规则的框架,用于在服务器端验证 .net 对象。它附带了 xVal 的规则提供程序,这是另一个允许您链接您选择的服务器的框架端和客户端验证框架。它支持在客户端生成 JQuery 验证器
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
始终至少执行服务器端验证。如果您想改善用户体验,客户端验证可能会很好。它还可以让您避免向服务器发出不必要的请求。
仅客户端验证是不够的,可以通过禁用 JavaScript 等轻松绕过。
我建议您始终从添加服务器端验证开始,一旦测试完毕,您就可以启用客户端验证。
Always perform at least server side validation. If you want to improve users experience, client side validation could be nice. It also allows you to avoid unnecessary requests to the server.
Only client side validation is not sufficient and can be easily bypassed by disabling javascript for example.
I would recommend you to always start by adding server side validation and once you've tested it, you could enable client side validation.