我的dir和文件名中有一些带有外来字符的图像文件,如Á
或ü
,当浏览器指向这些文件时,apache / mod_security正在回复Error 406 - Not acceptable
有没有办法让服务器显示这些文件,而不会使网站不安全?
编辑:在检查error_log和modsec2.user.conf之后,被触发的规则是
SecRule REQUEST_FILENAME|ARGS|ARGS_NAMES|REQUEST_HEADERS|!REQUEST_HEADERS:Referer
"@validateUtf8Encoding"
"deny,log,auditlog,msg:'UTF8 Encoding Abuse Attack Attempt',id:'1234123439',severity:'4'
由于
答案 0 :(得分:0)
您能否提供有关日志文件内容的更多信息。哪条规则阻止了请求?
编辑:
@ validateUtf8Encoding确保检查的所有内容(在您的情况下:REQUEST_FILENAME | ARGS | ARGS_NAMES | REQUEST_HEADERS |!REQUEST_HEADERS:Referer)是有效的UTF-8。
现在我假设您的请求中的参数不是UTF-8编码的,但可能是ISO-Latin-1。例如,请参阅this post,其中参数“con”(id = 9& con = m%FCllrose& x = 0& y = 0)包含%FC,这是ISO-8859-1的有效代码,但不是UTF-8。在这种情况下,答案是“这条规则错误地假设UTF-8并导致误报。它应该被禁用。”
我猜你可以禁用规则或修改你的请求以确保它只包含UTF-8字符。
注意:如果您从错误日志中发布了条目,情况会更好。然后我们可以看到请求的哪一部分实际上违反了规则。