如果我关闭ASP.NET的请求验证,我需要注意什么?

时间:2017-11-12 22:07:55

标签: asp.net validation

我的< textarea>表格通常会有意地包含HTML的片段,我的服务器代码被正确编码以处理。但是,ASP.NET通过导致错误拒绝任何带有HTML的请求:

"A potentially dangerous Request.Form value was detected from the client."

因此,我在system.web部分的web.config中添加了两行:

<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />

这允许HTML不受阻碍,但我还做了什么?我还应该注意哪些其他验证(如果有的话)?

1 个答案:

答案 0 :(得分:0)

我不会将其关闭,我建议您在表单提交时对textarea中的html进行编码/解码。

快速的Google显示微软推荐完全相同的东西:

Microsoft Docs: Request Validation

  

请求验证是ASP.NET 1.1版以来的一项功能,它阻止服务器接受包含未编码HTML的内容。此功能旨在帮助防止某些脚本注入攻击,从而客户端脚本代码或HTML可以在不知不觉中提交到服务器,存储,然后呈现给其他用户。我们仍强烈建议您在适当时验证所有输入数据并对其进行HTML编码。