Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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 mvc中清理xss_.net_Asp.net_Asp.net Mvc_Security_Xss - Fatal编程技术网

在asp.net mvc中清理xss

在asp.net mvc中清理xss,.net,asp.net,asp.net-mvc,security,xss,.net,Asp.net,Asp.net Mvc,Security,Xss,在asp.net mvc中清理用户输入的最佳方法是什么,而不引发“潜在危险的请求.form”异常,并且仍然防止对包含危险标记的post请求进行xss攻击 编辑: 我尝试了AntiXss并创建了自定义编码器,该编码器在运行时对所有提交的值进行编码,但问题是它仍然抛出异常。实际上,我没有弄清楚在哪里(哪个事件)可以确保请求不包含任何危险内容,如果它包含危险内容,我可以将其重定向到另一个操作,而不是引发异常。禁用自动表单检查,并使用手动检查XSS的每个相关字段 当然,在MVC中,有些检查是开箱即用的。

在asp.net mvc中清理用户输入的最佳方法是什么,而不引发“潜在危险的请求.form”异常,并且仍然防止对包含危险标记的post请求进行xss攻击

编辑:
我尝试了AntiXss并创建了自定义编码器,该编码器在运行时对所有提交的值进行编码,但问题是它仍然抛出异常。实际上,我没有弄清楚在哪里(哪个事件)可以确保请求不包含任何危险内容,如果它包含危险内容,我可以将其重定向到另一个操作,而不是引发异常。

禁用自动表单检查,并使用手动检查XSS的每个相关字段

当然,在MVC中,有些检查是开箱即用的。例如,如果您的操作方法包含一个名为
productID
的int参数,并且用户提交了一个带有productID字段的表单,那么它将由MVC的模型绑定机制自动填充,您将得到一个可以依赖的“强”int。里面没有文字,没有问题。
因此,您只需检查基于文本的字段。

禁用自动表单检查,并使用手动检查XSS的每个相关字段

当然,在MVC中,有些检查是开箱即用的。例如,如果您的操作方法包含一个名为
productID
的int参数,并且用户提交了一个带有productID字段的表单,那么它将由MVC的模型绑定机制自动填充,您将得到一个可以依赖的“强”int。里面没有文字,没有问题。
因此,您只需检查基于文本的字段。

感谢Ofer的介绍。我试过了,但并没有解决我的全部问题。您是否遵循了此答案中详细的说明以及下面的注释谢谢奥弗的开始。我试过了,但并没有解决我的全部问题。您是否遵循了此答案中详细的说明以及下面的注释