Object ::throttle (public)
::xotcl::THREAD ::throttle
Defined in /var/www/openacs.org/packages/xotcl-request-monitor/tcl/throttle_mod-procs.tcl
This is a small request-throttle application that handles simple DoS-attacks on the server. A user (request key) is identified via ipAddr or some other key, such as an authenticated userid.
XOTcl Parameters for Class Throttle:
The throttler is defined as a class running in a detached thread. See XOTcl API for Thread management for more details. It can be subclassed to define e.g. different kinds of throttling policies for different kind of request keys. Note that the throttle thread itself does not block, only the connection thread blocks if necessary (on throttles).
- timeWindow:Time window for computing detailed statistics; can be configured via OpenACS package parameter
time-window
- timeoutMs: Time window to keep statistics for a user
- startThrottle: If user requests more than this #, her requests are delayed. When larger than toMuch, the parameter is ignored
- toMuch: If user requests more than this #, she is kicked out
The controlling thread contains the classes Users, Throttle, Counter, MaxCounter, ...
- Author:
- Gustaf Neumann
- CVS ID:
$Id: throttle_mod-procs.tcl,v 1.71 2024/10/09 07:19:38 antoniop Exp $
- Testcases:
- No testcase defined.