设置为 UTF-8 的内容编码是否无效?

2022-09-02 12:09:59

嗨,我有一个客户端正在尝试使用以下http标头向我们开机自检:

content-type: application/x-www-form-urlencoded
content-encoding: UTF-8

但是我们的Web应用程序防火墙不断拾取它们并抛出错误:

消息: [文件 “/etc/httpd/modsecurity.d/10_asl_rules.conf”] [行 “45”] [id “340362”] [msg “Atomicorp.com WAF 规则: ModSecurity 不支持内容编码,无法检测到使用它的攻击,因此必须阻止它。[严重性“警告”]使用代码 501 拒绝访问(阶段 2)。需要将“rx ^Identity$”与“REQUEST_HEADERS:Content-Encoding”进行匹配。操作:截获(第 2 阶段)

有人想对这个问题有所了解吗?


答案 1

它是无效的。指定内容颁发者使用的数据传输编码。UTF-8 不是内容编码,而是字符集。指定字符集是在标头中完成的:content-encodingcontent-type

content-type: text/plain; charset=utf-8

例如,有效的内容编码值为 、 。HTTP客户端应指定它支持的内容编码与标头;HTTP 服务器将使用标头进行回复。gzipdeflateaccept-encodingcontent-encoding


答案 2

推荐