繁体   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