PHPackages                             peopleinside/flarum-ext-antiflood - 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. peopleinside/flarum-ext-antiflood

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

peopleinside/flarum-ext-antiflood
=================================

Flarum extension to prevent topic/post flooding and limit pending approvals.

2.0.1(1w ago)0656Apache-2.0PHPPHP ^8.0CI failing

Since Apr 19Pushed 1w agoCompare

[ Source](https://github.com/PeopleInside/flarum-ext-antiflood)[ Packagist](https://packagist.org/packages/peopleinside/flarum-ext-antiflood)[ RSS](/packages/peopleinside-flarum-ext-antiflood/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (12)Versions (24)Used By (0)

AntiFlood Extension for Flarum
==============================

[](#antiflood-extension-for-flarum)

[![Packagist](https://camo.githubusercontent.com/d8eebc4c584ebb8f798d4b09456444f04c1fc7f75323d8adb3bf4de9bc16933e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f70656f706c65696e736964652f666c6172756d2d6578742d616e7469666c6f6f642e737667)](https://packagist.org/packages/peopleinside/flarum-ext-antiflood)[![License](https://camo.githubusercontent.com/a5b7c829ce283e3c75aec6321112f7fe54cae7f1b3a7e43e6253b7e50c0be8cb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f50656f706c65496e736964652f666c6172756d2d6578742d616e7469666c6f6f642e737667)](LICENSE)

**AntiFlood** is a Flarum extension that adds longer-term flood protection and pending-approval limits on top of Flarum's built-in throttling.

How it relates to Flarum's built-in throttle
--------------------------------------------

[](#how-it-relates-to-flarums-built-in-throttle)

Flarum already ships a `PostCreationThrottler` that blocks any user who posts (a reply **or** a new topic) within **10 seconds** of their previous post. This is a short-term anti-double-posting guard and is always active.

This extension adds **two complementary protections** on top:

ProtectionApplies toDefaultConfigurable**Topic flood limit**New topics (`discussions.create`)max 3 per 5 min✅**Reply flood limit**Replies (`posts.create`)disabled (0)✅**Pending approval limit**Both topics and repliesmax 6 pending✅- **Topic flood limit** — prevents a user from opening more than N new topics within a configurable time window (minutes). Useful on forums where topic spam is the main concern.
- **Reply flood limit** — optionally limits how many replies a user may post in the same time window. Disabled by default because Flarum's 10-second throttle is usually enough for replies; enable it for stricter forums.
- **Pending approval limit** — blocks further posting if the user already has too many posts/topics awaiting moderator approval. Avoids approval queues being swamped.

Administrators are exempt from all limits.

Compatibility
-------------

[](#compatibility)

Flarum VersionSupported1.x✅2.x✅Admin settings
--------------

[](#admin-settings)

All limits and error messages can be customised in **Admin → Extensions → AntiFlood**:

[![Screenshot 2026-05-15 151232](https://private-user-images.githubusercontent.com/5006150/593135736-005c099e-96c4-4633-814d-65f9ca707380.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwMzk2OTEsIm5iZiI6MTc4MzAzOTM5MSwicGF0aCI6Ii81MDA2MTUwLzU5MzEzNTczNi0wMDVjMDk5ZS05NmM0LTQ2MzMtODE0ZC02NWY5Y2E3MDczODAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDNUMDA0MzExWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWYxMGJlZTVmZTA4ZTNjOTIyZGJkODBkYWE1NDViOTg0NDVlZjc3OTRjOGU3ZDAwODNlNDM4YTNhNWE5ZDM3NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gPOta_zTHStY6IU6GRPvB1WnKX7t6cwWjtTmiSEGx0E)](https://private-user-images.githubusercontent.com/5006150/593135736-005c099e-96c4-4633-814d-65f9ca707380.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwMzk2OTEsIm5iZiI6MTc4MzAzOTM5MSwicGF0aCI6Ii81MDA2MTUwLzU5MzEzNTczNi0wMDVjMDk5ZS05NmM0LTQ2MzMtODE0ZC02NWY5Y2E3MDczODAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDNUMDA0MzExWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWYxMGJlZTVmZTA4ZTNjOTIyZGJkODBkYWE1NDViOTg0NDVlZjc3OTRjOGU3ZDAwODNlNDM4YTNhNWE5ZDM3NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gPOta_zTHStY6IU6GRPvB1WnKX7t6cwWjtTmiSEGx0E)SettingDefaultDescriptionTopic flood limit3Max new topics per intervalReply flood limit0 (off)Max new replies per interval (0 = disabled)Flood interval5 minTime window for flood checksMaximum pending posts6Max combined pending posts+topics before blockingCustom error messages—Override the default translated messagesDisclaimer
----------

[](#disclaimer)

This software is provided **"AS IS"**, without any warranty. While it has been tested and reasonable efforts are made to ensure security and reliability, no guarantees are provided. As an open project, anyone may contribute or report issues, but this does not imply endorsement or liability from the maintainers.

**You use this software entirely at your own risk.** The authors and contributors are not liable for any damages, data loss, or unexpected behavior resulting from its use, modification, or distribution. Always review and test the code independently before deploying it in critical or production environments.

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

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

In your Flarum root directory, run the following command:

```
composer require peopleinside/flarum-ext-antiflood
php flarum assets:publish
```

### 2. Update via Composer

[](#2-update-via-composer)

```
composer update peopleinside/flarum-ext-antiflood
php flarum assets:publish
```

### 3. Uninstall via Composer

[](#3-uninstall-via-composer)

```
composer remove peopleinside/flarum-ext-antiflood
```

Packagist link:

Recommendations
---------------

[](#recommendations)

To get the most out of your forum's protection, this extension works best when combined with:

### [First Post Approval by PeopleInside](https://github.com/PeopleInside/flarum-ext-first-post-approval)

[](#first-post-approval-by-peopleinside)

While **AntiFlood** prevents users from posting too frequently, **First Post Approval** holds the very first posts of new users for moderator review. Together, they provide a complete defense against spam and low-quality content from new accounts.

Install it via Composer:

```
composer require peopleinside/flarum-ext-first-post-approval
```

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance98

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

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

Every ~24 days

Recently: every ~8 days

Total

19

Last Release

12d ago

Major Versions

1.1.6 → 2.0.02026-06-21

### Community

Maintainers

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

---

Top Contributors

[![PeopleInside](https://avatars.githubusercontent.com/u/5006150?v=4)](https://github.com/PeopleInside "PeopleInside (59 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (46 commits)")

---

Tags

flarumapprovalantiflood

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/peopleinside-flarum-ext-antiflood/health.svg)

```
[![Health](https://phpackages.com/badges/peopleinside-flarum-ext-antiflood/health.svg)](https://phpackages.com/packages/peopleinside-flarum-ext-antiflood)
```

###  Alternatives

[flarum-lang/russian

Russian language pack for Flarum.

12128.3k](/packages/flarum-lang-russian)[fof/byobu

Well integrated, advanced private discussions.

59120.6k13](/packages/fof-byobu)[fof/discussion-language

Specify the language a discussion is written in &amp; sort by language

1034.8k4](/packages/fof-discussion-language)[flarum-lang/french

French language pack to localize the Flarum forum software plus its official and third-party extensions.

1938.7k](/packages/flarum-lang-french)[fof/gamification

Upvotes and downvotes for your Flarum community

4066.1k8](/packages/fof-gamification)[fof/best-answer

Mark a post as the best answer in a discussion

25154.0k20](/packages/fof-best-answer)

PHPackages © 2026

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