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

SignalR的messageId格式解析及Azure WAF误拦截问题咨询

SignalR长轮询模式messageId构成规则及Azure WAF误报解决方案

字段构成规则

你遇到的是ASP.NET SignalR 2.x版本长轮询传输模式下的标准参数格式,该messageId由框架自动生成,没有自定义注入空间,具体结构如下:
整体采用[前缀段]|[标识1],[数值1]|[标识2],[数值2]|[标识3],[数值3]的格式,各部分含义:

  • 前缀段:以d-开头,后续拼接服务端连接唯一哈希、多实例部署的服务器路由标记(你示例中的d-B1017AFE-SC,B8就是该段,用于多节点集群下定位连接所属的服务实例)
  • 后续每段双字符标识都是SignalR内置的传输类型标记,完全为固定框架字段:
    • bW:WebSocket传输的消息确认序列号
    • bs:Server-Sent Events传输的消息确认序列号
    • bx:长轮询(LongPolling)传输本身的消息确认序列号
      所有|分隔符和双字符标识都是框架生成的合法内容,不存在任何命令注入特征。

Azure WAF误报说明

本次触发的是Azure WAF内置OWASP规则集的950006号规则(系统命令注入检测),属于规则模糊匹配导致的误判:

规则逻辑是匹配管道符|后接ps字符的特征,把|bW/|bs/|bx中的第二个字符和p模糊匹配命中,实际请求参数不存在任何可执行的系统命令内容。

你可以向客户申请添加以下WAF放行规则即可解决问题:

  • 生效范围:路径为/signalr/poll的POST请求
  • 排除参数:请求表单字段messageId
  • 排除规则ID:950006

抓包参考

Chrome开发者工具SignalR请求抓包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:39:00