PHPackages                             stylers/laravel-ban - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. stylers/laravel-ban

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

stylers/laravel-ban
===================

Laravel Ban

6.0(2y ago)23.0k↓50%MITPHPPHP &gt;=8.1

Since Aug 1Pushed 2y ago4 watchersCompare

[ Source](https://github.com/stylers-llc/laravel-ban)[ Packagist](https://packagist.org/packages/stylers/laravel-ban)[ Docs](https://github.com/stylers-llc/laravel-ban)[ RSS](/packages/stylers-laravel-ban/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (9)Versions (17)Used By (0)

Laravel Ban
===========

[](#laravel-ban)

[![Latest Stable Version](https://camo.githubusercontent.com/b44c6f3322397d0ef1f7d59d4b9344c5ca6bbc9ba96da81fde4433628e1b6502/68747470733a2f2f706f7365722e707567782e6f72672f7374796c6572732f6c61726176656c2d62616e2f76657273696f6e)](https://packagist.org/packages/stylers/laravel-ban)[![Total Downloads](https://camo.githubusercontent.com/be3cc429aa95c2e13afb09ec8c4001ef671ccf3c509a757fd81381c554764f7b/68747470733a2f2f706f7365722e707567782e6f72672f7374796c6572732f6c61726176656c2d62616e2f646f776e6c6f616473)](https://packagist.org/packages/stylers/laravel-ban)[![License](https://camo.githubusercontent.com/52d41326ea1a98ceff773acf1959c1fd4e9e04a0957f6a986e289192828d309d/68747470733a2f2f706f7365722e707567782e6f72672f7374796c6572732f6c61726176656c2d62616e2f6c6963656e7365)](https://packagist.org/packages/stylers/laravel-ban)[![Build Status](https://camo.githubusercontent.com/a8195c64eebf8185c5e7081d8f17916796b061d031779e570f6eaeeef3e145a3/68747470733a2f2f7472617669732d63692e6f72672f7374796c6572732d6c6c632f6c61726176656c2d62616e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/stylers-llc/laravel-ban)[![codecov](https://camo.githubusercontent.com/2c839ba523d949306185d3718b74bc15394c5872b5b8fc069465432bffaf867a/68747470733a2f2f636f6465636f762e696f2f67682f7374796c6572732d6c6c632f6c61726176656c2d62616e2f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/stylers-llc/laravel-ban)[![Maintainability](https://camo.githubusercontent.com/818ccd4a68e162ef8c2159120c062ac0ffab6a4b83de2dd419be2505a375cd18/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f65643564626563363663616332643962356437332f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/stylers-llc/laravel-ban/maintainability)

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

[](#requirements)

- PHP &gt;= 8.1
- Laravel ~10.x

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

[](#installation)

```
composer require stylers/laravel-ban
```

You can publish the migration

```
php artisan vendor:publish --provider="Stylers\LaravelBan\Providers\BanServiceProvider"
```

After the migration has been published, you can run the migrations

```
php artisan migrate
```

Usage
-----

[](#usage)

- How to add User to Bannable

```
use Stylers\LaravelBan\Contracts\Models\Traits\BannableInterface;
use Stylers\LaravelBan\Models\Traits\Bannable;

class User extends Authenticatable implements BannableInterface
{
    use Notifiable;
    use Bannable;
}
```

Ban
---

[](#ban)

```
use Carbon\Carbon;

$user = User::first();

$comment = "Reason of ban."; // ?string
$startAt = Carbon::addWeek(); // ?DateTimeInterface
$endAt = Carbon::now()->addWeeks(2); // ?DateTimeInterface

$ban = $user->ban(); // Ban without comment and timestamps (start_at, end_at) - never expire
$ban = $user->ban($comment, null, $endAt); // Ban for 2 weeks with comment
$ban = $user->ban($comment); // Ban without expire
$ban = $user->ban($comment, $startAt, $endAt); // Ban for a week with comment from next week
```

Unban
-----

[](#unban)

Remove active bans

```
$user = User::first();
$unbans = $user->unban();
```

Events
------

[](#events)

```
use Stylers\LaravelBan\Events\Banned;
use Stylers\LaravelBan\Events\Unbanned;
```

Middleware for User
-------------------

[](#middleware-for-user)

- Update `$routeMiddleware` in `App\Http\Kernel.php`

```
use Stylers\LaravelBan\Http\Middleware\CheckUserBan;

protected $routeMiddleware = [
    ...
    'check_user_ban' => CheckUserBan::class,
];
```

- Update your routes in `routes/` or `App\Providers\RouteServiceProvider`

```
protected function mapWebRoutes()
{
    Route::middleware('web', 'check_user_ban')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));
}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 84.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 ~247 days

Total

9

Last Release

860d ago

Major Versions

1.1.0 → 2.1.02021-04-06

2.1.0 → 3.02021-04-07

3.0 → 4.02021-04-08

4.0 → 5.02024-01-03

5.0 → 6.02024-01-03

PHP version history (4 changes)1.0.0PHP &gt;=7.1.3

2.0PHP &gt;=7.3

5.0PHP &gt;=8.0

6.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/422c56648fe93491b495251f97a0825657459d44fb86b2d2e9a5183d5b0eefe5?d=identicon)[stylers](/maintainers/stylers)

---

Top Contributors

[![t1k3](https://avatars.githubusercontent.com/u/8018130?v=4)](https://github.com/t1k3 "t1k3 (32 commits)")[![balazsbencs](https://avatars.githubusercontent.com/u/69797681?v=4)](https://github.com/balazsbencs "balazsbencs (5 commits)")[![Moondas](https://avatars.githubusercontent.com/u/3878620?v=4)](https://github.com/Moondas "Moondas (1 commits)")

---

Tags

banlaravellaravelbanstylers

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/stylers-laravel-ban/health.svg)

```
[![Health](https://phpackages.com/badges/stylers-laravel-ban/health.svg)](https://phpackages.com/packages/stylers-laravel-ban)
```

###  Alternatives

[laragear/two-factor

On-premises 2FA Authentication for out-of-the-box.

339785.3k8](/packages/laragear-two-factor)[casbin/laravel-authz

An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel.

324339.9k4](/packages/casbin-laravel-authz)[yajra/laravel-acl

Laravel ACL is a simple role, permission ACL for Laravel Framework.

112103.9k1](/packages/yajra-laravel-acl)[jurager/teams

Laravel package to manage team functionality and operate with user permissions.

22817.3k](/packages/jurager-teams)[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

2737.5k](/packages/scaler-tech-laravel-saml2)[alajusticia/laravel-logins

Session management in Laravel apps, user notifications on new access, support for multiple separate remember tokens, IP geolocation, User-Agent parser

2011.0k](/packages/alajusticia-laravel-logins)

PHPackages © 2026

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