PHPackages                             valksor/php-form-type-honey-pot - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. valksor/php-form-type-honey-pot

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

valksor/php-form-type-honey-pot
===============================

Symfony Form type for honeypot spam protection

00PHPCI passing

Since Jan 24Pushed 3mo agoCompare

[ Source](https://github.com/valksor/php-form-type-honey-pot)[ Packagist](https://packagist.org/packages/valksor/php-form-type-honey-pot)[ RSS](/packages/valksor-php-form-type-honey-pot/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Valksor Component: FormType HoneyPot
====================================

[](#valksor-component-formtype-honeypot)

[![valksor](https://camo.githubusercontent.com/2af5a6a7e5f7da47cd0a924c8b00038f208f45f9b0d5be8d7a497a9808168187/68747470733a2f2f62616467656e2e6e65742f7374617469632f6f72672f76616c6b736f722f677265656e)](https://github.com/valksor)[![BSD-3-Clause](https://camo.githubusercontent.com/72547f8afb6b5ace804caebbf95c3bcbfc027ce9214777bc452f308f3165db01/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4253442d2d332d2d436c617573652d677265656e3f7374796c653d666c6174)](https://github.com/valksor/php-form-type-honey-pot/blob/master/LICENSE)[![Coverage Status](https://camo.githubusercontent.com/aed04eaff9d46c1b65f58fa1a2ac36e0d747e816addda4260d6aed80d91408f8/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f76616c6b736f722f7068702d666f726d2d747970652d686f6e65792d706f742f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/valksor/php-form-type-honey-pot?branch=master)[![php](https://camo.githubusercontent.com/77da2f7bbc049873edb2d1045a756d7a32e3ba50440a8e0e76a9109f62f0771b/68747470733a2f2f62616467656e2e6e65742f7374617469632f7068702f2533453d382e342f707572706c65)](https://www.php.net/releases/8.4/en.php)

A Symfony Form extension that automatically adds an invisible honeypot spam trap field to your forms. If bots fill the field, submission is blocked and logged.

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

[](#installation)

Install the package via Composer:

```
composer require valksor/php-form-type-honey-pot
```

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

[](#requirements)

- PHP 8.4 or higher
- Symfony Form Component (&gt;=6.4)
- Symfony HttpFoundation
- Symfony RequestStack

Usage
-----

[](#usage)

There are two ways to use this package: via form options or by directly configuring the extension.

### Using Form Options

[](#using-form-options)

The extension automatically applies to any `FormType` (root forms) when the `honeypot` option is enabled:

```
use Symfony\Component\Form\Extension\Core\Type\FormType;

// Enable honeypot on a form
$builder = $this->createFormBuilder([], ['honeypot' => true]);
$form = $builder->getForm();
```

### Customizing Options

[](#customizing-options)

You can customize the honeypot field name and error message:

```
$form = $this->createFormBuilder([], [
    'honeypot' => true,
    'honeypot_field_name' => 'website',
    'honeypot_message' => 'Spam detected!',
])->getForm();
```

Features
--------

[](#features)

### Configuration Options

[](#configuration-options)

OptionTypeDefaultDescription`honeypot``bool``false`Enable/disable honeypot`honeypot_field_name``string``'website'`Name of the honeypot field`honeypot_message``string``'This form should not be submitted by bots.'`Error message on bot detection### How It Works

[](#how-it-works)

1. Adds a hidden text field (e.g. `website`) with `class="hidden"`, `tabindex="-1"`, `autocomplete="off"`
2. On `PRE_SUBMIT`, checks if field is filled
3. If filled, logs IP/User-Agent and throws `InvalidArgumentException` with custom message
4. Legitimate users ignore the field

### Twig Template

[](#twig-template)

Uses `fields.html.twig` for rendering the honeypot field.

Testing
-------

[](#testing)

Run the test suite for HoneyPot:

```
# Run all HoneyPot tests
bin/unit Valksor/Component/FormType/HoneyPot

# Run tests with coverage
vendor/bin/phpunit src/Valksor/Component/FormType/HoneyPot --coverage-text
```

Contributing
------------

[](#contributing)

Contributions are welcome!

- Code style requirements (PSR-12)
- Testing requirements for PRs
- One feature per pull request
- Development setup instructions

To contribute to HoneyPot:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/honeypot-improvement`)
3. Implement your changes following existing patterns
4. Add comprehensive tests
5. Ensure all tests pass and code style is correct
6. Submit a pull request

Security
--------

[](#security)

If you discover any security-related issues, please email us at  instead of using the issue tracker.

Support
-------

[](#support)

- **Documentation**: [Full documentation](https://github.com/valksor/php-valksor)
- **Issues**: [GitHub Issues](https://github.com/valksor/php-valksor/issues) for bug reports and feature requests
- **Discussions**: [GitHub Discussions](https://github.com/orgs/valksor/discussions/categories/php-valksor) for questions and community support

Credits
-------

[](#credits)

- **[Original Author](https://github.com/valksor)** - Creator and maintainer
- **[All Contributors](https://github.com/valksor/php-valksor/graphs/contributors)** - Thank you to all who contributed
- **[Symfony Form](https://symfony.com/doc/current/forms.html)** - Form component foundation
- **[Valksor Project](https://github.com/valksor)** - Part of the larger Valksor PHP ecosystem

License
-------

[](#license)

This package is licensed under the [BSD-3-Clause License](LICENSE).

About Valksor
-------------

[](#about-valksor)

This package is part of the [valksor/php-valksor](https://github.com/valksor/php-valksor) project - a comprehensive PHP library and Symfony bundle that provides a collection of utilities, components, and integrations for Symfony applications.

The main project includes:

- Various utility functions and components
- Doctrine ORM tools and extensions
- Symfony bundle for easy configuration
- And much more

If you find this HoneyPot component useful, you might want to check out the full Valksor project for additional tools and utilities that can enhance your Symfony application development.

To install the complete package:

```
composer require valksor/php-valksor
```

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance54

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 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.

### Community

Maintainers

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

---

Top Contributors

[![k0d3r1s](https://avatars.githubusercontent.com/u/38725938?v=4)](https://github.com/k0d3r1s "k0d3r1s (8 commits)")

### Embed Badge

![Health badge](/badges/valksor-php-form-type-honey-pot/health.svg)

```
[![Health](https://phpackages.com/badges/valksor-php-form-type-honey-pot/health.svg)](https://phpackages.com/packages/valksor-php-form-type-honey-pot)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

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