PHPackages                             blendbyte/livewire-honeypot - 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. blendbyte/livewire-honeypot

ActiveLibrary

blendbyte/livewire-honeypot
===========================

Lightweight honeypot + time-trap protection for Livewire forms

1.0.0(1mo ago)015↑1700%MITPHPPHP ^8.5

Since Mar 19Pushed 1mo agoCompare

[ Source](https://github.com/blendbyte/livewire-honeypot)[ Packagist](https://packagist.org/packages/blendbyte/livewire-honeypot)[ RSS](/packages/blendbyte-livewire-honeypot/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

livewire-honeypot
=================

[](#livewire-honeypot)

Lightweight **honeypot + time‑trap** protection for **Livewire 4** (Laravel 13).
Blocks simple bots without CAPTCHAs, privacy‑friendly and unobtrusive.

Forked from [darvis/livewire-honeypot](https://github.com/darvis/livewire-honeypot)

Features
--------

[](#features)

- 🪤 Honeypot bait field (`present|size:0`)
- ⏱️ Time‑trap (minimum fill time, default 5 seconds)
- 🧩 Works as **Trait** for Livewire and as **Service** for controllers/APIs
- 🧱 Blade component `` for easy inclusion
- 🌍 Multilingual (English, Dutch &amp; German included)
- ⚙️ Fully configurable via config file
- 🔌 Zero dependencies beyond Livewire 4 / Laravel 13

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

[](#installation)

```
composer require blendbyte/livewire-honeypot
```

(For local development, you can add a `path` repository in your app's `composer.json`.)

Usage — Livewire (Trait)
------------------------

[](#usage--livewire-trait)

1. In your Livewire component:

```
use Blendbyte\LivewireHoneypot\Traits\HasHoneypot;

class ContactForm extends Component
{
    use HasHoneypot;

    public string $name = '';
    public string $email = '';
    public string $message = '';

    public function submit(): void
    {
        $this->validate([
            'name' => 'required|string|min:2',
            'email' => 'required|email',
            'message' => 'required|string|min:10',
        ]);

        $this->validateHoneypot();

        // process form ...

        $this->reset(['name','email','message']);
        $this->resetHoneypot();
    }
}
```

2. In your Blade (or Flux) view, add the component (place anywhere inside the form):

```

```

Usage — Controller / API (Service)
----------------------------------

[](#usage--controller--api-service)

```
use Blendbyte\LivewireHoneypot\Services\HoneypotService;

public function store(Request $request, HoneypotService $honeypot)
{
    $honeypot->validate($request->only('hp_website', 'hp_started_at', 'hp_token'));
    // process form ...
}
```

To generate fields server‑side (non‑Livewire forms):

```
$hp = app(Blendbyte\LivewireHoneypot\Services\HoneypotService::class)->generate();
// pass $hp to your view to prefill hidden inputs
```

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

[](#configuration)

Publish the config file to customize settings:

```
php artisan vendor:publish --tag=livewire-honeypot-config
```

Available options in `config/livewire-honeypot.php`:

- **`minimum_fill_seconds`** - Minimum time (in seconds) before form submission (default: `5`)
- **`field_name`** - Name of the honeypot field (default: `hp_website`)
- **`token_min_length`** - Minimum token length for validation (default: `10`)
- **`token_length`** - Length of generated token (default: `24`)

All settings can also be configured via environment variables:

```
HONEYPOT_MINIMUM_FILL_SECONDS=5
HONEYPOT_FIELD_NAME=hp_website
HONEYPOT_TOKEN_MIN_LENGTH=10
HONEYPOT_TOKEN_LENGTH=24
```

Translations
------------

[](#translations)

The package includes English, Dutch and German translations. Publish them to customize error messages:

```
php artisan vendor:publish --tag=livewire-honeypot-translations
```

Available translation keys in `resources/lang/vendor/livewire-honeypot/{locale}/validation.php`:

- `spam_detected` - Error when honeypot field is filled
- `submitted_too_quickly` - Error when form is submitted too fast
- `honeypot_label` - Label text for the honeypot field

Publishing views (optional)
---------------------------

[](#publishing-views-optional)

Customize the honeypot component:

```
php artisan vendor:publish --tag=livewire-honeypot-views
```

Throttling (recommended)
------------------------

[](#throttling-recommended)

Add request rate‑limiting on your form route:

```
Route::get('/contact', \App\Livewire\ContactForm::class)->middleware('throttle:10,1');
```

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance96

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

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

51d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/12043214c857ec65b93c40b5322af6ea2c08cecac519b71149e2e61db228651e?d=identicon)[bashgeek](/maintainers/bashgeek)

---

Top Contributors

[![ArvidDeJong](https://avatars.githubusercontent.com/u/7394837?v=4)](https://github.com/ArvidDeJong "ArvidDeJong (5 commits)")[![bashgeek](https://avatars.githubusercontent.com/u/4669888?v=4)](https://github.com/bashgeek "bashgeek (2 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/blendbyte-livewire-honeypot/health.svg)

```
[![Health](https://phpackages.com/badges/blendbyte-livewire-honeypot/health.svg)](https://phpackages.com/packages/blendbyte-livewire-honeypot)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[namu/wirechat

A Laravel Livewire messaging app for teams with private chats and group conversations.

54324.5k](/packages/namu-wirechat)[mhmiton/laravel-modules-livewire

Using Laravel Livewire in Laravel Modules package with automatically registered livewire components for every modules.

236409.6k9](/packages/mhmiton-laravel-modules-livewire)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)[lakm/laravel-comments

Integrate seamless commenting functionality into your Laravel project.

40012.9k1](/packages/lakm-laravel-comments)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)

PHPackages © 2026

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