You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET触发请求验证错误的所有危险字符组合完整列表是哪些?

ASP.NET 请求验证触发规则说明

ASP.NET 内置的「潜在危险请求检测」逻辑没有单独的公开危险字符列表,它基于模式匹配实现,所有触发场景可从官方框架源码中整理得到,完整规则如下:

  • 小于号 < 后紧跟任意非空白字符,比如 <a、<1、<测试 都会触发;单独的 < 或 < 后紧跟空格、换行、制表符等空白字符时不会触发
  • 出现 &# 字符组合,无论后续跟什么内容都会触发,用于拦截HTML实体编码的注入 payload
  • 出现 <% 字符组合,这是ASP.NET服务端代码的开头标记,会直接触发验证
  • 出现 <! 字符组合,用于拦截HTML注释、DOCTYPE声明等标签类 payload
  • 出现 <![CDATA[ 这类XML区段标记,也会触发验证

注意:不建议自行实现字符替换逻辑来规避该报错,自行过滤很容易出现大小写绕过、编码绕过等安全漏洞。如果仅需要优化用户体验,更安全的方案是在全局异常处理模块中捕获 HttpRequestValidationException 类型的异常,直接返回自定义友好提示即可,不需要关闭原生验证逻辑,也不需要自行处理字符过滤。

如果要在前端做预校验优化用户输入体验,仅需要匹配上述几个模式即可,注意前端校验仅做体验优化,服务端原生验证必须保留,避免被恶意用户绕过。

内容的提问来源于stack exchange,提问作者SunriseInternational

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:51:00