简单的正则表达式调整
Simple regex tweaking
在 fail2ban
实施中,我有一个 jail
用于减少 getfloods。即,禁止在一个时间范围内过多的 GET 响应。
fail2ban
通过我提供的基本正则表达式检测到那些。即:
failregex = ^<HOST>.*"GET.*
正则表达式在我的 nginx access.log
文件中解析如下行,并采取必要的操作。
39.54.230.53 - - [07/Mar/2016:11:59:43 +0000] "GET / HTTP/1.1" 499 0 "http://example.com/" "Mozilla/5.0 (Linux; Android 4.4.2;
现在我想在这里添加一个微妙的地方。我只想解析属于以 /vote/
开头的特定 url 模式的 GET 行,而不是所有 GET 行。请参阅以下示例:
31.13.113.92 - - [07/Mar/2016:15:36:48 +0000] "GET /vote/1564968/39947/5/1/ HTTP/1.1" 302 5 "http://example.com/?io
我的问题很简单。如何调整我的正则表达式?会不会只是:
failregex = ^<HOST>.*"GET /vote/.*
是吗?
您需要转义正斜杠。
failregex = ^<HOST>.*"GET \/vote\/.*
在 fail2ban
实施中,我有一个 jail
用于减少 getfloods。即,禁止在一个时间范围内过多的 GET 响应。
fail2ban
通过我提供的基本正则表达式检测到那些。即:
failregex = ^<HOST>.*"GET.*
正则表达式在我的 nginx access.log
文件中解析如下行,并采取必要的操作。
39.54.230.53 - - [07/Mar/2016:11:59:43 +0000] "GET / HTTP/1.1" 499 0 "http://example.com/" "Mozilla/5.0 (Linux; Android 4.4.2;
现在我想在这里添加一个微妙的地方。我只想解析属于以 /vote/
开头的特定 url 模式的 GET 行,而不是所有 GET 行。请参阅以下示例:
31.13.113.92 - - [07/Mar/2016:15:36:48 +0000] "GET /vote/1564968/39947/5/1/ HTTP/1.1" 302 5 "http://example.com/?io
我的问题很简单。如何调整我的正则表达式?会不会只是:
failregex = ^<HOST>.*"GET /vote/.*
是吗?
您需要转义正斜杠。
failregex = ^<HOST>.*"GET \/vote\/.*