| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | 
							- [
 
-     {
 
-         "name": "roboagent limit",
 
-         "filters": [
 
-             "Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client|Ruby|UniversalFeedParser)"
 
-         ],
 
-         "limit": 0,
 
-         "stop": true,
 
-         "actions": [
 
-             { "name": "log"},
 
-             { "name": "block",
 
-               "params": {
 
-                   "message": "Rate limit exceeded"
 
-               }
 
-             }
 
-         ]
 
-     },
 
-     {
 
-         "name": "botlimit",
 
-         "filters": [
 
-             "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)"
 
-         ],
 
-         "limit": 0,
 
-         "stop": true,
 
-         "actions": [
 
-             { "name": "log"},
 
-             { "name": "block",
 
-               "params": {
 
-                   "message": "Rate limit exceeded"
 
-               }
 
-             }
 
-         ]
 
-     },
 
-     {
 
-         "name": "suspiciously frequent IP",
 
-         "filters": [],
 
-         "interval": 600,
 
-         "limit": 30,
 
-         "aggregations": [
 
-             "Header:X-Forwarded-For"
 
-       ],
 
-         "actions":[
 
-             {"name":"log"}
 
-       ]
 
-     },
 
-     {
 
-         "name": "search request",
 
-         "filters": [
 
-             "Param:q",
 
-             "Path=^(/|/search)$"
 
-         ],
 
-         "interval": 61,
 
-         "limit": 999,
 
-         "subrules": [
 
-             {
 
-                 "name": "missing Accept-Language",
 
-                 "filters": ["!Header:Accept-Language"],
 
-                 "limit": 0,
 
-                 "stop": true,
 
-                 "actions": [
 
-                     {"name":"log"},
 
-                     {"name": "block",
 
-                      "params": {"message": "Rate limit exceeded"}}
 
-                 ]
 
-             },
 
-             {
 
-                 "name": "suspiciously Connection=close header",
 
-                 "filters": ["Header:Connection=close"],
 
-                 "limit": 0,
 
-                 "stop": true,
 
-                 "actions": [
 
-                     {"name":"log"},
 
-                     {"name": "block",
 
-                      "params": {"message": "Rate limit exceeded"}}
 
-                 ]
 
-             },
 
-             {
 
-                 "name": "IP limit",
 
-                 "interval": 61,
 
-                 "limit": 9,
 
-                 "stop": true,
 
-                 "aggregations": [
 
-                     "Header:X-Forwarded-For"
 
-                 ],
 
-                 "actions": [
 
-                     { "name": "log"},
 
-                     { "name": "block",
 
-                       "params": {
 
-                           "message": "Rate limit exceeded"
 
-                       }
 
-                     }
 
-                 ]
 
-             },
 
-             {
 
-                 "name": "rss/json limit",
 
-                 "filters": [
 
-                     "Param:format=(csv|json|rss)"
 
-                 ],
 
-                 "interval": 121,
 
-                 "limit": 2,
 
-                 "stop": true,
 
-                 "actions": [
 
-                     { "name": "log"},
 
-                     { "name": "block",
 
-                       "params": {
 
-                           "message": "Rate limit exceeded"
 
-                       }
 
-                     }
 
-                 ]
 
-             },
 
-             {
 
-                 "name": "useragent limit",
 
-                 "interval": 61,
 
-                 "limit": 199,
 
-                 "aggregations": [
 
-                     "Header:User-Agent"
 
-                 ],
 
-                 "actions": [
 
-                     { "name": "log"},
 
-                     { "name": "block",
 
-                       "params": {
 
-                           "message": "Rate limit exceeded"
 
-                       }
 
-                     }
 
-                 ]
 
-             }
 
-         ]
 
-     }
 
- ]
 
 
  |