Looking to hire Laravel developers? Try LaraJobs

laravel maintained by xlock

Description
x-lock bot protection middleware for Laravel
Last update
2026/04/05 16:45 (dev-main)
License
Downloads
0

Comments
comments powered by Disqus

xlock/laravel

Laravel middleware for x-lock bot protection.

Requirements

  • PHP >= 8.1
  • Laravel 10, 11, or 12

Installation

composer require xlock/laravel

The service provider is auto-discovered. To publish the config file:

php artisan vendor:publish --tag=xlock-config

Add your site key to .env:

XLOCK_SITE_KEY=sk_your_site_key

Usage

Apply the xlock middleware to any routes you want to protect:

Route::middleware('xlock')->group(function () {
    Route::post('/login', [AuthController::class, 'login']);
    Route::post('/register', [AuthController::class, 'register']);
});

Or apply it to a single route:

Route::post('/checkout', [CheckoutController::class, 'store'])->middleware('xlock');

Configuration

Key Env Variable Default Description
site_key XLOCK_SITE_KEY null Your x-lock site key
api_url XLOCK_API_URL https://api.x-lock.dev Enforcement API endpoint
fail_open XLOCK_FAIL_OPEN true Allow requests when API is unreachable

How it works

The middleware intercepts POST requests and checks for an x-lock header token. It sends the token to the x-lock enforcement API for verification. If the token is missing or rejected, the request is blocked with a 403 response.

When fail_open is true (the default), requests are allowed through if the x-lock API is unreachable or returns an unexpected error.

License

MIT