0

我的目录和文件名中有一些带有外来字符的图像文件,例如Áor ,当将浏览器指向这些文件时ü,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'

谢谢

4

1 回答 1

0

您能否提供有关日志文件内容的更多信息。哪个规则阻止了请求?

编辑:

@validateUtf8Encoding 确保检查的所有内容(在您的情况下:REQUEST_FILENAME|ARGS|ARGS_NAMES|REQUEST_HEADERS|!REQUEST_HEADERS:Referer)都是有效的 UTF-8。

另请参阅:Modsecurity 手册

现在我假设您请求中的参数不是 UTF-8 编码的,但可能是 ISO-Latin-1。例如,请参阅这篇文章,其中参数“con”(id=9&con=m%FCllrose&x=0&y=0)包含 %FC,这是 ISO-8859-1 的有效代码,但不是 UTF-8。在这种情况下,答案是“此规则错误地假定 UTF-8 并导致误报。应该禁用它。”

我想您可以禁用该规则或修改您的请求以确保它仅包含 UTF-8 字符。

注意:如果您从错误日志中发布条目会更好。然后我们可以看到请求的哪一部分实际上违反了规则。

于 2014-07-14T05:56:14.870 回答