omines / antispam-bundle
The Swiss Army Knife for protecting your Symfony forms from all kinds of spam
Fund package maintenance!
curry684
Installs: 13 873
Dependents: 0
Suggesters: 0
Security: 0
Stars: 35
Watchers: 4
Forks: 3
Open Issues: 5
Type:symfony-bundle
Requires
- php: >=8.1
- ext-mbstring: *
- psr/log: ^3.0
- symfony/clock: ^6.3|^7.0
- symfony/form: ^6.3|^7.0
- symfony/framework-bundle: ^6.3|^7.0
- symfony/translation: ^6.3|^7.0
- symfony/twig-bridge: ^6.3|^7.0
- symfony/validator: ^6.3|^7.0
- symfony/yaml: ^6.3|^7.0
Requires (Dev)
- ekino/phpstan-banned-code: ^1.0
- friendsofphp/php-cs-fixer: ^3.59.3
- infection/infection: ^0.29.6
- phpstan/extension-installer: ^1.4.1
- phpstan/phpstan: ^1.11.6
- phpstan/phpstan-phpunit: ^1.4.0
- phpstan/phpstan-symfony: ^1.4.5
- phpunit/phpunit: ^10.5.15 || ^11.2.5
- symfony/browser-kit: ^6.3|^7.1.1
- symfony/css-selector: ^6.3|^7.1.1
- symfony/debug-bundle: ^6.3|^7.1.1
- symfony/dotenv: ^6.3|^7.1.1
- symfony/monolog-bundle: ^3.10
- symfony/routing: ^6.3|^7.1.1
- symfony/runtime: ^6.3|^7.1.1
- symfony/twig-bundle: ^6.3|^7.1.1
- symfony/web-profiler-bundle: ^6.3|^7.1.2
Conflicts
- monolog/monolog: <3
- twig/twig: <3.1
README
You have found the Swiss Army Knife of battling form spam in your Symfony application!
This bundle provides a ton of different mechanisms for detecting and stopping spammers, scammers and abusers using your forms for their nefarious purposes, and brings them all together in an easy to configure profile system.
This bundle is compatible with PHP 8.1+ and Symfony 6.3 or later.
Documentation
Extensive documentation can be found at https://omines.github.io/antispam-bundle/
What does it do
This bundle provides you with a ton of methods to easily combat spam through tested and proven methods:
- Honeypot: hidden field to bait spammers
- Timer: Rejects forms being submitted too fast or too slow
- Banned scripts: Reject forms containing characters in specific scripts (ie. Cyrillic or Arabic)
- Banned markup: Rejects forms containing (attempts at) HTML or BBCode
- Banned phrases: Reject forms containing predefined phrases
- URL Count: Reject forms with too many URLs or repeated URLs in the content
All components can either be used standalone or deployed through easily configured antispam profiles.
Read more in the documentation.
Development
This bundle is in active development, but its API is currently considered stable. Releases follow semantic versioning, and you can safely upgrade without hitting breaking changes.
The bundle is not feature complete, and its API may change before reaching version 1.0. The major version is therefore 0 for now.
Contributing
Please see CONTRIBUTING.md for details.
Legal
This software was developed for internal use at Omines Full Service Internetbureau
in Eindhoven, the Netherlands. It is shared with the general public under the permissive MIT license, without
any guarantee of fitness for any particular purpose. Refer to the included LICENSE
file for more details.