Spam Throttle v1.1

Release Notes

Fixed an issue that partially prevented new users from registering.

  • I thought of this awhile back, limited blogging rights etc. Great that did something! Kudos I will try it.

  • I have only the Globals set at 2 for 60 minutes:

    When I posted a one YouTube video the Admin area of this plugin said that "17" entries were made.

    Does this plugin Read character amount or actual content?

    Please advise.

  • How do I "Unsuspend" an account?

  • @ bigboi2 - When you post a new piece of content it looks in the database to see how many other (objects + comments) have been created by that account in the last x amount of time.  In your case, you set the limit to 2 (objects + comments) in an hour.  This means that when you posted your youtube video, it then checked the database and found 16 other activities within the last hour, triggering the suspension.  Character count does not play into it at all.

    Right now there is no way to remove the suspension, I was aiming to get this plugin out fast as I really needed it.  You can "unthrottle" the user on the settings page and the suspension will be ignored.  I do plan on adding in a function to unsuspend users while leaving them monitored.

  • Matt, thank you for your reply.

    When you say, "other activities" are you talking about other activities from other users online or from the same user?

    Also, which table in the MySql database can I delete or change in order to UNsuspend the account?

    Can suspensions be set at .25 (ie - 15 Minutes) ?

    Do all of the fields for this plug-ins configuration have to filled in?

    At the moment I just need to know how to limit each user to 3 files, 3 comments and 3 videos per hour. Can you please let me know what the setting are for that?

  • It only counts activities on a per-user basis.  Activities of one user cannot get another one suspended.

    Actually I wasn't really thinking about what happens at the code level, if you delete older content you still can't get unsuspended.  It's simply a timestamp associated with your user and until I put in the "unsuspend" you're stuck with it, or you can make them exempt.

    Suspension time: no, it accepts only positive integers - simply because I use the same validation on all of those fields and you can't post 0.25 blogs  :)

    No, not all of the fields need to be filled in.  If you leave any blank then those content types won't be checked on an individual basis (but they will still count towards the global limit).


    The settings for what you described:

    {at least} 9, 60



    3, 60



    3, 60



    3, 60


    So they're allowed 3 of each type in an hour.  This means that globally, they're allowed 9 in an hour (you may want to increase that to take into consideration other content types that you're not explicitly monitoring).


  • Ok thanks.

    Makes a lot of sense.

    Just one FINAL inquiry (I swear):

    Can I put 0, 0  for all of the other fields as opposed to leaving them blank?

    What does it mean if I input 0, 0 into the fields?

    What does it mean if I leave them blank?

    What would you suggest as a maximum for the Global other than 9?

    Can the Global settings be left blank or at 0, 0  ?

  • 0 or blank are considered equivalent, and that limit will be ignored.

    So if you have 0 as the limit for blogs, then there is no defined limit for blogs, though they will still have to respect the global limit if set.

    You can set the global limit to 0,0 - that would mean there's no global limit.

    In that case the only checks will be for the individual content types.  In your last case, they would still only be able to do 3 of each set content type, but with no global limit they could also do an infinite amount of anything else.  The global setting is kind of a "catch-all" setting.

    I don't really know what's good setting for your global - it really depends on your site, how active your users are and how aggressive the spam is.

    The time amounts don't have to match either by the way.  So for instance you could set your global to 20,10

    That's 20 (objects+comments) in 10 minutes.  That's unlikely to catch any real users, but a bot could post that easily, and will now get shut down before it overwhelms the site.

  • I will test all of this out.

    Thank you. Will look forward to the next update of his plugin.

    Great job!

  • Just two suggestions for other plugins:

    1) A plugin that will allow us to functionally Deactivate all (or some) Comment sections of the site


    2) For us to be able to moderate Comments that are submiited, but not to be posted until we actually approve.

    There is another plugin that does this, but it only works for Anonymous posts/users.


    Let us know what you think.

Matt Beckett

I'm a self-employed web developer, family man, nerd, scuba diver. Manager/maintainer of this elgg community site, and core Elgg development team member.


  • Category: Spam
  • License: GNU General Public License (GPL) version 2
  • Updated: 2015-11-2
  • Downloads: 4057
  • Recommendations: 20

Other Projects

View Matt Beckett's plugins