-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement "goto" and "ban" actions #7
Comments
May be I misunderstood you, but I fear that the rules.json becomes a mess. About "deny & ban" what I think: To get the bots under control you should always give them something to eat. If you ban a bot, the bots admin will detect this fast and adjust the bot. That's why I think, it is better to handle queries from bots unpredictable and to make it harder for bot admins to get over the wall. That is why I vote for a redirection feature. E.g.: In case to protect searx, for bots I would like to response (slow) a dummy/empty searx result page .. without calling any search-engine. I guess this will be harder for bot admins to detect and solve. I am complete new to this thematics, may be I am talking bullshit. If so, please correct me / thanks! |
That's not a bad idea, we can send them a dummy result page =) |
@dalf if it is not already known to you or others who come around, I want to clear that ..
can be configured by filter: {
"name":"rss/json limit",
"interval":60,
"limit":15,
"stop":true,
"filters":[
"Param:format=(csv|json|rss)"
],
"actions":[
{
"name":"block",
"params":{
"message":"rate limit exceeded"
}
}
]
}, |
Yes I'm aware about the csv/json/xml filter rule. Currently filtron can block users who:
In the first case, the user can retry later, after the colddown, being block again, etc... The purpose of this PR is to add a limit to the number of time a user can be blocked. So after some (okay, send 429) cycles, I suggest to use a different set of filtron rules (using the goto action, most probably there are others way to implement this feature ; if this feature makes sense). So if a bot sends requests until it gets blocks, wait, retry, it ends up to being block for a longer time or ban. Ban action can be replaced by the backend, url, or file actions (just some ideas) :
|
What
It would interesting to have:
To avoid infinite loop, "goto" can only go below in rules.json, not above.
Use case
For now, it is possible to deny access when there are too much queries per seconds.
But if there is a continuous flood, it is not possible to something more.
With a "goto" it would be possible to:
Or:
Up to the person writing rules.json to make something coherent about the selectors.
The text was updated successfully, but these errors were encountered: