PHPackages                             teppokoivula/request-throttle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. teppokoivula/request-throttle

ActivePw-module[Utility &amp; Helpers](/categories/utility)

teppokoivula/request-throttle
=============================

ProcessWire module that throttles requests for named resources

0.0.5(3mo ago)06MITPHPPHP &gt;=7.1

Since Apr 15Pushed 3mo agoCompare

[ Source](https://github.com/teppokoivula/RequestThrottle)[ Packagist](https://packagist.org/packages/teppokoivula/request-throttle)[ RSS](/packages/teppokoivula-request-throttle/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Request Throttle ProcessWire module
-----------------------------------

[](#request-throttle-processwire-module)

Request Throttle is a ProcessWire module for throttling requests to named resources based on timestamps and client fingerprints. It can be used to implement rate limiting for things like login attempts, form submissions, password resets, etc.

Getting started
---------------

[](#getting-started)

1. Download or clone this module into your `/site/modules/` directory, or install using Composer (`composer require teppokoivula/request-throttle`).
2. Install the module from the ProcessWire Admin (Modules &gt; Site &gt; Request Throttle).
3. Configure default values for max requests, time window, and fingerprint mode via module settings, or override them per call.

Usage
-----

[](#usage)

```
// Check if a request is allowed (increments the counter automatically)
$throttle = $modules->get('RequestThrottle');
if (!$throttle->request('login')) {
    // too many requests, deny access
}

// Check without incrementing the counter
if (!$throttle->requestQuietly('login')) {
    // would be throttled
}

// Override defaults per call
$throttle->request('password_reset', 3, 10); // max 3 requests in 10 minutes
```

License
-------

[](#license)

This project is licensed under the MIT License.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance81

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity19

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

100d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1252021?v=4)[Teppo Koivula](/maintainers/teppokoivula)[@teppokoivula](https://github.com/teppokoivula)

---

Top Contributors

[![teppokoivula](https://avatars.githubusercontent.com/u/1252021?v=4)](https://github.com/teppokoivula "teppokoivula (3 commits)")

---

Tags

processwiremodule

### Embed Badge

![Health badge](/badges/teppokoivula-request-throttle/health.svg)

```
[![Health](https://phpackages.com/badges/teppokoivula-request-throttle/health.svg)](https://phpackages.com/packages/teppokoivula-request-throttle)
```

###  Alternatives

[adrianbj/tracy-debugger

The ultimate debugging and development tool for ProcessWire.

935.6k](/packages/adrianbj-tracy-debugger)[teppokoivula/search-engine

SearchEngine is a ProcessWire CMS/CMF module for indexing and searching site contents.

181.4k2](/packages/teppokoivula-search-engine)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
