正则表达式 – 在fail2ban过滤器中使用反向引用可能吗?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 在fail2ban过滤器中使用反向引用可能吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不时会在Apache日志中看到可疑的“找不到文件错误的集合,基本上使用的是模式
File does not exist: /var/www/file,referer: http://my.server.com/file

在人类方面:找不到文件,尽管它在这里引用.一个明确的黑客尝试,因为这几乎是不可能的(REQUEST_URI经常表明相同).在我看来,fail2ban的一个明显案例 – 如果我可以在这里得到反向引用:

failregex = ^%(_apache_error_client)s File does not exist: /var/www(.+),referer: http://.+\1$

(Justin Case:以上示例假设该Web服务器的DIRECTORY_ROOT为/ var / www)

我用Google搜索了几个小时,上下搜索fail2ban wiki – 但我无处可寻找有关其过滤器反向引用的声明.他们不受支持,还是我做错了?任何提示如何使其工作(除了“脏黑客”,如首先使用mod-rewrite将请求发送到另一个假网址,然后抓住它(如果有人有兴趣,我可以在答案中详细说明这种方法),或做使用mod-security类似的东西)?

因为要求整个日志行:

[Fri Nov 08 14:57:28 2013] [error] [client 50.67.234.213] File does not exist: /var/www/text/files.htm++++++++++++++++++++++++++Result:+using+proxy+27.34.142.47:9090;+no+post+sending+forms+are+found;,referer: http://www.myserver.com/text/files.htm++++++++++++++++++++++++++Result:+using+proxy+27.34.142.47:9090;+no+post+sending+forms+are+found;

(对不起,日志刚刚切换,所以这个长期候选人是目前唯一剩下的人;出于隐私原因进行了微小调整)

看起来反向引用编号有点古怪.尝试使用 Named Group ……这样的事情:
failregex = ^%(_apache_error_client)s File does not exist: /var/www(?P<snoop_file>.+),referer: http://.+(?P=snoop_file)$
原文链接:https://www.f2er.com/regex/357017.html

猜你在找的正则表达式相关文章