Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ModelState.ISValid的用途是什么?即使它正在客户端进行验证_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

Asp.net ModelState.ISValid的用途是什么?即使它正在客户端进行验证

Asp.net ModelState.ISValid的用途是什么?即使它正在客户端进行验证,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,我是ASP.NETMVC新手。在设计页面时,我使用数据注释作为验证。我注意到所有的验证都已经在客户端执行了,但我仍然不明白为什么还要在服务器端使用ModelState.IsValid。我用谷歌搜索了一下,但我无法理解。 因此,是否有人会建议我何时使用ModelState.IsValid,因为它已经在客户端进行验证。因为坏人可以向web应用程序发送无效消息。客户端验证是可选的,服务器端是必须的。@TonyHopkinson哈哈。。符合事实的客户端验证可以被操纵,坏人可以侵入服务器。为了避免它,我们

我是ASP.NETMVC新手。在设计页面时,我使用数据注释作为验证。我注意到所有的验证都已经在客户端执行了,但我仍然不明白为什么还要在服务器端使用ModelState.IsValid。我用谷歌搜索了一下,但我无法理解。
因此,是否有人会建议我何时使用ModelState.IsValid,因为它已经在客户端进行验证。

因为坏人可以向web应用程序发送无效消息。客户端验证是可选的,服务器端是必须的。@TonyHopkinson哈哈。。符合事实的客户端验证可以被操纵,坏人可以侵入服务器。为了避免它,我们还需要在服务器端进行检查。。。极好的回答…@shankar.parsanamoni我浏览了这个链接,但它与我的问题没有明确的联系。如果我禁用JavaScript,我就成功地绕过了您的验证。如果我手动或通过自己的表单发送post请求,我已成功绕过您的验证。我喜欢把客户端验证看作是一种用户体验特性,而服务器端验证则是一种安全特性。一个是可选的(客户端),只是为了提高应用程序的感知性能,另一个是必须的(服务器端),以确保数据有效。这不仅仅是禁用JS来绕过它,您还可以使用浏览器开发工具来绕过它,或者完全放弃浏览器,直接使用JMeter或其他数千种HTTP工具将数据发布回服务器。