Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Tomcat42
perl-Schedule-AdaptiveThrottler
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Meta Configuration of Package perl-Schedule-AdaptiveThrottler
<package name="perl-Schedule-AdaptiveThrottler" project="devel:languages:perl"> <title>Throttle just about anything with ease</title> <description>This module was originally designed to throttle access to web forms, and help prevent brute force attacks and DoS conditions. What it does is very simple: store lists of timestamps, one for each set of parameter defined in the authorize() call, check the number of timestamps in the previously generated list isn't over the threshold set in the call, cleanup the list of expired timestamps from the list, and put the list back in memcached. It is really a simple bucket algorithm, helped by some of memcached's features (specifically the automatic cleanup of expired records, particularly useful when a ban has been specified). The interesting thing about it is it can count and throttle anything: if you need to restrict access to a DB layer to a certain number of calls per minute per process, for instance, you can do it the exact same way as in the examples above. Simply use the PID as the 'value' key, and you're set. The possible applications are endless. It was written to be fast, efficient, and simpler than other throttling modules found on CPAN. All what we found was either too complicated, or not fast enough. Using memcached, a list and a grep on timestamps, where the criteria (an IP address for instance) are part of the object key, proved satisfactory in all respects. In particular, we didn't want something using locks, which introduces a DoS risk all by itself. </description> <url>http://search.cpan.org/dist/Schedule-AdaptiveThrottler</url> </package>
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor