PHPackages                             brasstacksweb/craft-ip-blocker - 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. [Security](/categories/security)
4. /
5. brasstacksweb/craft-ip-blocker

ActiveCraft-plugin[Security](/categories/security)

brasstacksweb/craft-ip-blocker
==============================

IP address blocker for Craft CMS applications to bock traffic from malicious sources.

v2.3.0(6mo ago)015proprietaryPHPPHP &gt;=8.2

Since May 8Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/brasstacksweb/craft-ip-blocker)[ Packagist](https://packagist.org/packages/brasstacksweb/craft-ip-blocker)[ RSS](/packages/brasstacksweb-craft-ip-blocker/feed)WikiDiscussions craft-5 Synced 1mo ago

READMEChangelogDependencies (3)Versions (12)Used By (0)

IP Blocker
==========

[](#ip-blocker)

IP address blocker for Craft CMS applications to bock traffic from malicious sources.

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 5.0 or later, and PHP 8.2 or later.

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

[](#installation)

You can install this plugin from the Plugin Store or with Composer.

#### From the Plugin Store

[](#from-the-plugin-store)

Go to the Plugin Store in your project’s Control Panel and search for “IP Blocker”. Then press “Install”.

#### With Composer

[](#with-composer)

Open your terminal and run the following commands:

```
# go to the project directory
cd /path/to/my-project.test

# tell Composer to load the plugin
composer require brasstacksweb/craft-ip-blocker

# tell Craft to install the plugin
./craft plugin/install craft-ip-blocker
```

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

[](#configuration)

IP Blocker supports adding one or many conditions to determine if request resulting in an [HTTP exception](https://www.yiiframework.com/doc/api/2.0/yii-web-httpexception) will be recorded and if the requesters I.P. address will be blocked.

[![Settings screenshot](/docs/images/settings.png "Settings Dashboard")](/docs/images/settings.png)

### Conditions

[](#conditions)

A condition can be added in the plugin settings and must consist of the following properties:

- **Pattern**: A string or regular expression (excluding the surrounding /) that will be matched against the message of the top level, or previous, exception thrown by the request.
- **Max Attempts**: The maximum number of allowed attempts matching the pattern before the I.P. address is blocked.
- **Detection Window**: The window of time (in seconds) that failed requests are counted toward the maximum.
- **Block Time**: The duration of time (in seconds) that an I.P. address is blocked after matching the pattern and meeting the maximum attempts.

Stats
-----

[](#stats)

Statistics for failed attempts against a condition and I.P. addresses that have been blocked are visible in the IP Blocker section of the CMS.

[![Attempts screenshot](/docs/images/attempts.png "Attempt Statistics")](/docs/images/attempts.png)

[![Blocks screenshot](/docs/images/blocks.png "Block Statistics")](/docs/images/blocks.png)

###  Health Score

37

—

LowBetter than 82% of packages

Maintenance70

Regular maintenance activity

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 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

Every ~18 days

Recently: every ~37 days

Total

10

Last Release

205d ago

Major Versions

v1.0.0 → v2.0.02025-05-09

v1.0.1 → v2.1.02025-05-22

v1.2.0 → v2.2.02025-10-16

v1.3.0 → v2.3.02025-10-16

PHP version history (2 changes)v1.0.0PHP &gt;=8.0.2

v2.0.0PHP &gt;=8.2

### Community

Maintainers

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

---

Top Contributors

[![brasstacksweb](https://avatars.githubusercontent.com/u/168479622?v=4)](https://github.com/brasstacksweb "brasstacksweb (21 commits)")

### Embed Badge

![Health badge](/badges/brasstacksweb-craft-ip-blocker/health.svg)

```
[![Health](https://phpackages.com/badges/brasstacksweb-craft-ip-blocker/health.svg)](https://phpackages.com/packages/brasstacksweb-craft-ip-blocker)
```

###  Alternatives

[craftpulse/craft-password-policy

Password Policy plugin

2826.0k1](/packages/craftpulse-craft-password-policy)[enupal/backup

Fully integrated Backup solution for Craft CMS

1612.5k1](/packages/enupal-backup)[born05/craft-csp

Content Security Policy (or CSP) generator using nonces.

1110.2k](/packages/born05-craft-csp)

PHPackages © 2026

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