在asp.net mvc中清理xss
在asp.net mvc中清理用户输入的最佳方法是什么,而不引发“潜在危险的请求.form”异常,并且仍然防止对包含危险标记的post请求进行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中,有些检查是开箱即用的。
我尝试了AntiXss并创建了自定义编码器,该编码器在运行时对所有提交的值进行编码,但问题是它仍然抛出异常。实际上,我没有弄清楚在哪里(哪个事件)可以确保请求不包含任何危险内容,如果它包含危险内容,我可以将其重定向到另一个操作,而不是引发异常。禁用自动表单检查,并使用手动检查XSS的每个相关字段 当然,在MVC中,有些检查是开箱即用的。例如,如果您的操作方法包含一个名为
productID
的int参数,并且用户提交了一个带有productID字段的表单,那么它将由MVC的模型绑定机制自动填充,您将得到一个可以依赖的“强”int。里面没有文字,没有问题。
因此,您只需检查基于文本的字段。禁用自动表单检查,并使用手动检查XSS的每个相关字段 当然,在MVC中,有些检查是开箱即用的。例如,如果您的操作方法包含一个名为
productID
的int参数,并且用户提交了一个带有productID字段的表单,那么它将由MVC的模型绑定机制自动填充,您将得到一个可以依赖的“强”int。里面没有文字,没有问题。
因此,您只需检查基于文本的字段。感谢Ofer的介绍。我试过了,但并没有解决我的全部问题。您是否遵循了此答案中详细的说明以及下面的注释谢谢奥弗的开始。我试过了,但并没有解决我的全部问题。您是否遵循了此答案中详细的说明以及下面的注释