当表单字段的值为json字符串时,请求在azure waf上被阻止



我有一个表单,它有一些输入字段。一些输入字段具有json字符串作为值,如

[{"actionItems":"1","actions":"Go To Home","articleLink":""}, 
{"actionItems":"2","actions":"Rollback","articleLink":""}]

但当我提交这个请求时,请求在azure WAF上被阻止,并给出403。而其他没有json字符串作为值的表单则成功提交。有人能提出解决办法吗。

我认为WAF过滤请求的原因是因为它检测到JSON负载,而请求的Content-Type不是application/json

(这里有完整的规则列表。据我所见,这样的场景可以匹配多个规则。我的猜测是920120920 12192 341(

您可以:

  • URLEncode您的<input>中的数据
  • 添加自定义规则以禁用您要POST访问的URL的WAF
  • 全局禁用影响此特定情况的某些规则
  • 使用JavaScript以编程方式发出请求,然后将Content-Type标头设置为application/json

最新更新