我的< 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不受阻碍,但我还做了什么?我还应该注意哪些其他验证(如果有的话)?
答案 0 :(得分:0)
我不会将其关闭,我建议您在表单提交时对textarea中的html进行编码/解码。
快速的Google显示微软推荐完全相同的东西:
Microsoft Docs: Request Validation
请求验证是ASP.NET 1.1版以来的一项功能,它阻止服务器接受包含未编码HTML的内容。此功能旨在帮助防止某些脚本注入攻击,从而客户端脚本代码或HTML可以在不知不觉中提交到服务器,存储,然后呈现给其他用户。我们仍强烈建议您在适当时验证所有输入数据并对其进行HTML编码。