Skip to content

omines/antispam-bundle

Repository files navigation

Symfony Anti-Spam Bundle

Latest Stable Version Latest Unstable Version Total Downloads License

automated-testing codecov phpstan Mutation testing badge

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.