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

POST提交含Location:文本时返回403 Forbidden错误的问题求助

问题根因

触发了Comodo WAF的ID为211080的防护规则,该规则用于拦截HTTP响应拆分攻击,会匹配请求参数中「换行后紧跟Location:/Content-Type:/Set-Cookie:这类HTTP响应头格式」的内容,你提交的活动描述恰好符合这个匹配特征,属于规则误拦截。

解决方案

方案1:有服务器管理权限(推荐,不影响业务逻辑)

优先选择粒度最细的配置,避免降低全站防护等级:

  • 仅对EventDescription参数放行该规则,在Apache配置文件或者站点根目录的.htaccess中添加如下配置:
<IfModule mod_security2.c>
SecRuleUpdateTargetById 211080 "!ARGS:EventDescription"
</IfModule>
  • 如果需要仅对提交接口生效,可以再加路径限制:
<IfModule mod_security2.c>
<Location /myadminfolder/adminAddEvent.php>
SecRuleUpdateTargetById 211080 "!ARGS:EventDescription"
</Location>
</IfModule>

如果不需要这么精细,也可以直接对该接口禁用这条规则:

<IfModule mod_security2.c>
<Location /myadminfolder/adminAddEvent.php>
SecRuleRemoveById 211080
</Location>
</IfModule>

方案2:无服务器管理权限(改业务代码适配)

前端提交时对EventDescription的内容做转义,避开规则匹配,后端接收后还原即可:

  • 方法1:前端将内容做Base64编码后提交,PHP后端用base64_decode()解码后再入库
  • 方法2:前端提交前把内容里的英文冒号临时替换为中文冒号,或者把\nLocation:这类匹配特征替换为自定义标记,后端接收后替换回原格式
  • 方法3:前端用encodeURIComponent()编码内容后提交,PHP后端用urldecode()解码后处理

注意事项

不要直接全局禁用ID为211080的规则,避免站点失去对HTTP响应拆分攻击的防护能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 12:51:02