Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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
C# 事件验证——Js重型应用程序真的需要吗_C#_Asp.net_Security_Post_Eventvalidation - Fatal编程技术网

C# 事件验证——Js重型应用程序真的需要吗

C# 事件验证——Js重型应用程序真的需要吗,c#,asp.net,security,post,eventvalidation,C#,Asp.net,Security,Post,Eventvalidation,这件事真的很有趣,我一直在考虑事件验证,这真的有必要吗。我正在寻找避免事件验证的方法,以构建一个基于webservice数据加载dropdownlists的面向webservice的javascript页面。我可以禁用页面的事件验证,但我想了解一下谷歌、雅虎等大公司是如何执行此类验证的(主要是您认为他们可能会如何执行)。这些组织都是以公众为基础的,几乎所有的服务都使用web服务,它们在很大程度上依赖ajax来简化工作 我应该如何验证post值在这种情况下,事件验证是 残疾人 事件验证确保在页面上

这件事真的很有趣,我一直在考虑事件验证,这真的有必要吗。我正在寻找避免事件验证的方法,以构建一个基于webservice数据加载dropdownlists的面向webservice的javascript页面。我可以禁用页面的事件验证,但我想了解一下谷歌、雅虎等大公司是如何执行此类验证的(主要是您认为他们可能会如何执行)。这些组织都是以公众为基础的,几乎所有的服务都使用web服务,它们在很大程度上依赖ajax来简化工作

我应该如何验证post值在这种情况下,事件验证是 残疾人


事件验证确保在页面上触发的任何事件在加载时都可以从页面的状态开始。e、 如果一个按钮触发了一个点击事件,那么它会使用散列算法检查该按钮是否存在于原始页面的HTML输出中

这些散列存储在名为
\uu EVENTVALIDATION
的页面上的隐藏字段中

这是ASP.NET Web窗体提供的一种故障保护机制,如果您以无状态的方式正确编写应用程序,则无需这样做。例如,如果您的应用程序只允许某些用户删除文章,则最好由您的delete button事件处理程序检查用户是否仍有权在文章触发时删除该文章。不要依赖触发按钮单击事件的事实来假定用户具有权限


将此原则应用于应用程序中的所有输入。手动检查从下拉列表、单选按钮、复选框等传递的值对当前页面和状态的用户会话有效,并且不依赖ASP.NET事件体系结构来验证用户输入。当您确信这一点时,您可以安全地关闭事件验证。

不要相信用户输入,哇,我忘记了事件验证数据也是一种输入形式。是的,事件验证数据是一种用户输入形式,但由于使用服务器端算法对其进行散列,因此该数据将比其他形式的用户输入更可靠。然而,编写无状态web应用程序将是我首选的方法。