I had a live chat room running in the dev console of isitchristmas.com this past Christmas for a 9-day experiment<http://konklone.com/post/the-making-of-isitchristmas-dot-com-2012>, and I got a few flooders who loved writing for loops filled with nastiness. I did three things to combat them:
a) asked them nicely to stop (worked ~10% of the time) b) rate limited chat input using tiny general-purpose rate limit functions<https://github.com/isitchristmas/web/blob/master/views/index.html#L282> c) implemented invisible bans at the server-level (I manually banned user IDs, to that user it appeared others saw their text, but nobody actually did) This can all be worked around - (b) makes people read the source code a little closer to remove the limiter, and (c) could be detected by having two tabs open and avoided by reloading the page - but they all served to tamp it down and made the barrier to flooding higher. There's more I could have done I'm sure, but this was enough to get me through 9 days. -- Eric On Thu, Mar 28, 2013 at 9:56 AM, Peter Rust <pe...@cornerstonenw.com> wrote: > The standalone libraries of underscore and async have throttling and > limiting methods (_.throttle, _.debounce, async.eachLimit, async.mapLimit, > async.parallelLimit -- also async.queue takes a concurrency limit and > async.cargo takes a payload limit). I don't know for sure, but I would > think that one of these would fit your use-case... > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to nodejs@googlegroups.com > To unsubscribe from this group, send email to > nodejs+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to nodejs+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.