@@ -1,42 +1,63 @@
2+ "name":"suspiciously frequent queries",
2 "name":"search request",
14 "name":"search request",
3 "filters":[
15 "filters":[
4 "Param:q",
16 "Param:q",
5 "Path=^(/|/search)$"
17 "Path=^(/|/search)$"
7− "interval":60,
19+ "interval":120,
8− "limit":15,
20+ "limit":19,
25+ "message":"common rate limit exceeded"
9 "subrules":[
29 "subrules":[
11 "name":"roboagent limit",
31 "name":"roboagent limit",
12 "interval":60,
32 "interval":60,
13− "limit":15,
33+ "limit":3,
14 "filters":[
34 "filters":[
15− "Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"
35+ "Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client|Ruby)"
17 "actions":[
37 "actions":[
18− {"name": "log"},
38+ {"name":"log"},
20 "name":"block",
40 "name":"block",
21 "params":{
41 "params":{
22− "message":"Rate limit exceeded"
42+ "message":"rate limit exceeded"
28 "name":"botlimit",
48 "name":"botlimit",
29 "limit":0,
50 "limit":0,
30 "stop":true,
51 "stop":true,
31 "filters":[
52 "filters":[
32 "Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ12bot|AhrefsBot|archive.org_bot|msnbot|MJ12bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)"
53 "Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ12bot|AhrefsBot|archive.org_bot|msnbot|MJ12bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)"
34 "actions":[
55 "actions":[
35− {"name": "log"},
56+ {"name":"log"},
37 "name":"block",
58 "name":"block",
38 "params":{
59 "params":{
39− "message":"Rate limit exceeded"
60+ "message":"rate limit exceeded"
@@ -44,17 +65,17 @@
45 "name":"IP limit",
66 "name":"IP limit",
46 "interval":60,
67 "interval":60,
47− "limit":15,
68+ "limit":13,
48 "stop":true,
69 "stop":true,
49 "aggregations":[
70 "aggregations":[
50 "Header:X-Forwarded-For"
71 "Header:X-Forwarded-For"
52 "actions":[
73 "actions":[
53− {"name": "log"},
74+ {"name":"log"},
55 "name":"block",
76 "name":"block",
56 "params":{
77 "params":{
57− "message":"Rate limit exceeded"
78+ "message":"rate limit exceeded"
@@ -62,34 +83,34 @@
63 "name":"rss/json limit",
84 "name":"rss/json limit",
64 "interval":60,
85 "interval":60,
65− "limit":15,
86+ "limit":13,
66 "stop":true,
87 "stop":true,
67 "filters":[
88 "filters":[
68 "Param:format=(csv|json|rss)"
89 "Param:format=(csv|json|rss)"
70 "actions":[
91 "actions":[
71− {"name": "log"},
92+ {"name":"log"},
73 "name":"block",
94 "name":"block",
74 "params":{
95 "params":{
75− "message":"Rate limit exceeded"
96+ "message":"rate limit exceeded"
81 "name":"useragent limit",
102 "name":"useragent limit",
82 "interval":60,
103 "interval":60,
83− "limit":15,
104+ "limit":13,
84 "aggregations":[
105 "aggregations":[
85 "Header:User-Agent"
106 "Header:User-Agent"
87 "actions":[
108 "actions":[
88− {"name": "log"},
109+ {"name":"log"},
90 "name":"block",
111 "name":"block",
91 "params":{
112 "params":{
92− "message":"Rate limit exceeded"
113+ "message":"rate limit exceeded"