PHPackages                             pauloamgomes/cockpit-cms-userflood - 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. [API Development](/categories/api)
4. /
5. pauloamgomes/cockpit-cms-userflood

AbandonedArchivedCockpit-module[API Development](/categories/api)

pauloamgomes/cockpit-cms-userflood
==================================

UserFlood addon for Cockpit CMS, provides a very simple feature of locking users after a configurable number of failed login attempts

v0.1(6y ago)6151[1 issues](https://github.com/pauloamgomes/CockpitCMS-UserFlood/issues)MITPHP

Since Jun 2Pushed 5y ago3 watchersCompare

[ Source](https://github.com/pauloamgomes/CockpitCMS-UserFlood)[ Packagist](https://packagist.org/packages/pauloamgomes/cockpit-cms-userflood)[ Docs](https://github.com/pauloamgomes/cockpit-cms-kint)[ RSS](/packages/pauloamgomes-cockpit-cms-userflood/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Cockpit CMS UserFlood Addon
===========================

[](#cockpit-cms-userflood-addon)

This addon extends Cockpit CMS (Next) core by providing a very simple feature of locking users after a configurable number of failed login attempts.

Installation
------------

[](#installation)

### Manual

[](#manual)

Download [latest release](https://github.com/pauloamgomes/CockpitCMS-UserFlood) and extract to `COCKPIT_PATH/addons/UserFlood` directory

### Git

[](#git)

```
git clone https://github.com/pauloamgomes/CockpitCMS-UserFlood.git ./addons/UserFlood
```

### Cockpit CLI

[](#cockpit-cli)

```
php ./cp install/addon --name UserFlood --url https://github.com/pauloamgomes/CockpitCMS-UserFlood.git
```

### Composer

[](#composer)

1. Make sure path to cockpit addons is defined in your projects' *composer.json* file:

```
{
    "name": "MY_PROJECT",
    "extra": {
        "installer-paths": {
            "cockpit/addons/{$name}": ["type:cockpit-module"]
        }
    }
}
```

2. In your project root run:

```
composer require pauloamgomes/cockpitcms-userflood
```

---

Configuration
-------------

[](#configuration)

The number of failed attempts can be configured as below:

```
flood:
  errors:  4    # max. allowed retries before lockout
  lockout: 20   # minutes lockout
  block:   4    # deactivate user after 4 consecutive lockouts
  failban: true # auto-blacklist malicious users based on ip behavior
```

If no configuration is provided a default of 4 login failures is used. An `user` is set to inactive (blocked) after 16 consecutive failed login attempts (tot. 4 lockouts). The `failban` option automatically blacklist user's IP related to max number of allowed `errors`.

Usage
-----

[](#usage)

The UserFlood Addon doesn't provide (yet) any user interface, it works on the background during the authentication workflow, using the `cockpit.authentication.failed`, `cockpit.authentication.success` and `cockpit.accounts.save` events.

- A user is set to inactive (blocked) when it fails n login attempts.
- In order to be able to login user needs to be set again to Active via admin interface.

Extensibility
-------------

[](#extensibility)

The UserFlood Addon provides the following events that can be handled by other Addons:

- `flood.insert` - on each failure attempt
- `flood.block` - when max number of failed attemps is reached and user is locked
- `flood.reset` - when flood user entries are removed

Todo and Improvements
---------------------

[](#todo-and-improvements)

- Block user via ip address
- Define a timeline where the blocking should occur (e.g. block if 10 attemps in last hour)
- Create admin interface with list of all flood events

Copyright and license
---------------------

[](#copyright-and-license)

Copyright 2018 pauloamgomes under the MIT license.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 62.5% 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

2536d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5d76b00c52f0e92746848bda311bf68308c6ecfb1207871504c9814cde6d9b5?d=identicon)[pauloamgomes](/maintainers/pauloamgomes)

---

Top Contributors

[![pauloamgomes](https://avatars.githubusercontent.com/u/102261?v=4)](https://github.com/pauloamgomes "pauloamgomes (5 commits)")[![Raruto](https://avatars.githubusercontent.com/u/9614886?v=4)](https://github.com/Raruto "Raruto (3 commits)")

---

Tags

cockpit-cmscockpit-cms-addonapisecuritycockpitcmsheadless

### Embed Badge

![Health badge](/badges/pauloamgomes-cockpit-cms-userflood/health.svg)

```
[![Health](https://phpackages.com/badges/pauloamgomes-cockpit-cms-userflood/health.svg)](https://phpackages.com/packages/pauloamgomes-cockpit-cms-userflood)
```

###  Alternatives

[aheinze/cockpit

Cockpit Headless CMS

5.4k2.0k4](/packages/aheinze-cockpit)[getkirby/kql

Kirby Query Language

15124.3k](/packages/getkirby-kql)[aimeos/aimeos-headless

Aimeos headless ecommerce system

2.5k2.3k](/packages/aimeos-aimeos-headless)

PHPackages © 2026

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