libcgi-application-plugin-ratelimit-perl - Perl module for limiting the runmode call rate per user

Property Value
Distribution Debian 8 (Jessie)
Repository Debian Main amd64
Package name libcgi-application-plugin-ratelimit-perl
Package version 1.0
Package release 2
Package architecture all
Package type deb
Installed size 71 B
Download size 13.82 KB
Official Mirror
CGI::Application::Plugin::RateLimit provides protection against a user
calling a runmode too frequently. A typical use-case might be a contact form
that sends email. You'd like to allow your users to send you messages, but
thousands of messages from a single user would be a problem.
This module works by maintaining a database of hits to protected runmodes. It
then checks this database to determine if a new hit should be allowed based
on past activity by the user. The user's identity is, by default, tied to
login (via REMOTE_USER) or IP address (via REMOTE_IP) if login info is not
available. You may provide your own identity function via the
identity_callback() method.
To use this module you must create a table in your database with the
following schema (using MySQL-syntax, although other DBs may work as well
with minor alterations):
CREATE TABLE rate_limit_hits (
user_id   VARCHAR(255)      NOT NULL,
action    VARCHAR(255)      NOT NULL,
INDEX (user_id, action, timestamp)
You may feel free to vary the storage-type and size of user_id and action to
match your usage. For example, if your identity_callback() always returns an
integer you could make user_id an integer column.
This table should be periodically cleared of old data. Anything older than the
maximum timeframe being used can be safely deleted.
IMPORTANT NOTE: The protection offered by this module is not perfect.
Identifying a user on the internet is very hard and a sophisticated attacker
can work around these checks, by switching IPs or automating login creation.


Package Version Architecture Repository
libcgi-application-plugin-ratelimit-perl_1.0-2_all.deb 1.0 all Debian Main
libcgi-application-plugin-ratelimit-perl - - -


Name Value
libcgi-application-perl -
libclass-accessor-perl -
perl -


Name Value
libcgi-application-extra-plugin-bundle-perl << 0.5


Type URL
Binary Package libcgi-application-plugin-ratelimit-perl_1.0-2_all.deb
Source Package libcgi-application-plugin-ratelimit-perl

Install Howto

  1. Update the package index:
    # sudo apt-get update
  2. Install libcgi-application-plugin-ratelimit-perl deb package:
    # sudo apt-get install libcgi-application-plugin-ratelimit-perl




2012-06-14 - gregor herrmann <>
libcgi-application-plugin-ratelimit-perl (1.0-2) unstable; urgency=low
* Team upload.
* Add short description and improve long description. Thanks to Frederik
Schwarzer for the bug report and the proposed patch. (Closes: #677495)
* debian/copyright: update to Copyright-Format 1.0.
* Bump Standards-Version to 3.9.3 (no changes).
* Remove unused lintian override.
2011-11-11 - Nicholas Bamber <>
libcgi-application-plugin-ratelimit-perl (1.0-1) unstable; urgency=low
* Split off from
libcgi-application-extra-plugin-bundle-perl (Closes: #647863).

See Also

Package Description
libcgi-application-plugin-requiressl-perl_0.04-1_all.deb plugin enforcing that certain run modes must be SSL secured
libcgi-application-plugin-session-perl_1.05-1_all.deb plugin that adds session support to CGI::Application
libcgi-application-plugin-stream-perl_2.11-1_all.deb plugin that adds file streaming support to CGI::Application
libcgi-application-plugin-tt-perl_1.05-2_all.deb plugin that adds Template Toolkit support to CGI::Application
libcgi-application-plugin-validaterm-perl_2.5-1_all.deb plugin for validating form data using Data::FormValidator
libcgi-application-plugin-viewcode-perl_1.02-2_all.deb set of debugging tools for CGI::Application
libcgi-application-server-perl_0.063-1_all.deb simple HTTP server for developing with CGI::Application
libcgi-compile-perl_0.17-1_all.deb module for compiling .cgi scripts to a code reference
libcgi-compress-gzip-perl_1.03-1_all.deb module to allow automatically compressed CGI output
libcgi-cookie-splitter-perl_0.04-1_all.deb module for splitting big cookies into smaller ones
libcgi-emulate-psgi-perl_0.20-1_all.deb PSGI adapter for CGI
libcgi-expand-perl_2.05-2_all.deb convert flat hash to nested data using TT2's dot convention
libcgi-extratags-perl_0.03-1_all.deb Useful Extensions for the CGI Module
libcgi-fast-perl_2.04-1_all.deb CGI subclass for work with FCGI
libcgi-formalware-perl_1.16-1_all.deb Perl module for converting an XML file into a suite of CGI forms