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.


Reply via email to