Package: libcgi-application-plugin-ratelimit-perl (1.0-3)
Links for libcgi-application-plugin-ratelimit-perl
Trisquel Resources:
Download Source Package libcgi-application-plugin-ratelimit-perl:
- [libcgi-application-plugin-ratelimit-perl_1.0-3.dsc]
- [libcgi-application-plugin-ratelimit-perl_1.0.orig.tar.gz]
- [libcgi-application-plugin-ratelimit-perl_1.0-3.debian.tar.xz]
Maintainer:
Original Maintainers:
- Debian Perl Group (Mail Archive)
- Jaldhar H. Vyas
External Resources:
- Homepage [metacpan.org]
Similar packages:
Perl module for limiting the runmode call rate per user
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, timestamp UNSIGNED INTEGER 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.
Other Packages Related to libcgi-application-plugin-ratelimit-perl
|
|
|
-
- dep: libcgi-application-perl
- framework for building reusable web-applications
-
- dep: libclass-accessor-perl
- Perl module that automatically generates accessors
-
- dep: perl
- Larry Wall's Practical Extraction and Report Language
-
- rec: libcgi-application-plugin-dbh-perl
- plugin adding database support to CGI::Application
-
- enh: libcgi-application-perl
- framework for building reusable web-applications
Download libcgi-application-plugin-ratelimit-perl
Architecture | Package Size | Installed Size | Files |
---|---|---|---|
all | 13.2 kB | 71 kB | [list of files] |