-
Notifications
You must be signed in to change notification settings - Fork 127
Add Throttle Exempt Option #4841
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
Comments
Feature discussion #4813 came from the same starting point. |
@litzinger I think the ability for add-ons to define their own throttling setting is good, however I'm not sure if letting them disable throttling completely for themselves is a good idea. The whole idea of throttling checks is related to danger of DDoS attacks, and if the attacker knows the action endpoint that's exempt from throttling they would just target it. Instead, I think we could let the add-ons override some of the throttling settings for themselves, such as time_interval Thoughts? |
If an add-on were to set a time_interval override, and multiple add-ons needed to set this override, then there would be multiple override settings scattered throughout the add-ons section, each implemented differently (e.g. where it resides in the add-ons settings section, how they built the form etc) I still feel like this should be handled at the system level, since it's a system feature. What if there was a pass code requirement too? A simple 6 or 8 character code that needed to be passed along with the request and if it doesn't match what is in the exp_actions table (this would be a new column) then it fails.
This would make it harder for someone to spam the endpoint. Guessing ACT ids is easy, but if they don't know the passcode then they can't DDoS. |
I like the passcode idea and I agree with the complexity sentiment. It's a lot easier to manage system-wide solution. @bryannielsen @matthewjohns0n what are your thoughts? |
I tend to think allowing add-ons to bypass throttling is reasonable. I also like the pass code idea to limit any ddos potential. |
FWIW I have a passcode option in DataGrab already. It doesn't do anything with throttling... it's just used as a bit of an additional security step so an import can't arbitrarily be executed by someone guessing the ACT id. It's possible the |
I had an interesting feature request come in for DataGrab (https://boldminded.com/support/ticket/3100) and after looking into it, it feels like add-ons should be able to do things that are exempt from throttling, instead of making the add-on jump through hoops to get around the throttling. So I took a little stab at what this might look like, and it's a fairly easy implementation.
Thoughts?
in Core.php
and add
Update the model
Finally add it to the db
The text was updated successfully, but these errors were encountered: