PHPackages                             lumas/antispam-bundle - 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. [Security](/categories/security)
4. /
5. lumas/antispam-bundle

ActiveContao-bundle[Security](/categories/security)

lumas/antispam-bundle
=====================

Contao Antispam including honeypot, Session and IP Blocking, stop words detection for different languages, time based blocking

2.0.0(4mo ago)077[1 issues](https://github.com/eBlick/lumas-antispam-bundle/issues)MITPHPPHP ^8.2 || ^8.3 || ^8.4

Since Dec 22Pushed 4mo agoCompare

[ Source](https://github.com/eBlick/lumas-antispam-bundle)[ Packagist](https://packagist.org/packages/lumas/antispam-bundle)[ RSS](/packages/lumas-antispam-bundle/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (4)Versions (12)Used By (0)

lumas-antispam
==============

[](#lumas-antispam)

Contao Antispam includes honeypot, Session und IP Blocking, stop words detection for different languages, time based blocking.

LUMAS AntiSpam Bundle for Contao 5

Eine einfache aber wirkungsvolle, vollständig integrierte Anti-Spam-Erweiterung für Contao 5! Das Bundle schützt Formulare vor Spam, Bots und Missbrauch – ohne externe Dienste, granular konfigurierbar.

Features
--------

[](#features)

Formularbasierter Spam-Schutz

- Zeitbasierte Heuristik (Mindest-Ausfüllzeit)
- Inhaltsanalyse
- Mindestlänge
- Stopwort-Erkennung mit Sprachauswahl
- Maximal erlaubte Links
- Honeypot-Feld
- Session-basierte Sperren
- Globale IP-Reputation
- Eskalierende Sperrdauer
- Whitelist &amp; Hard-Block
- Zentrales Spam-Log
- Root-Page-Defaults + Formular-Overrides
- Backend-Module zur Verwaltung
- Composer / Packagist ready

Direct-POST Protection (Session-Historien-Prüfung) Viele moderne Spam-Bots laden das Formular nicht im Browser, sondern senden die Formulardaten (POST) direkt an die Ziel-URL. Dadurch werden herkömmliche Frontend-Checks (wie Honeypots oder JavaScript-Prüfungen) umgangen.

- Beim regulären Aufruf der Seite (GET-Request) generiert das Bundle einen unsichtbaren Zeitstempel (startTime) in der Benutzersession.
- Sobald Formulardaten per POST gesendet werden, prüft der Hook zwingend, ob dieser Zeitstempel existiert.
- Fehlt der Zeitstempel, wird der Request sofort als DIRECT\_POST\_ATTEMPT geloggt und mit einem harten HTTP 403 (Forbidden) abgebrochen.
- Vorteil: Der Prozess stirbt, bevor Contao die Daten verarbeitet. Es werden keine leeren E-Mails mehr über das Notification Center (NC) verschickt.

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

[](#installation)

composer require lumas/antispam-bundle

Danach:

- Contao Manager / Setup ausführen
- Cache leeren
- Backend neu laden

Die Datenbanktabellen werden automatisch angelegt.

Backend-Module
--------------

[](#backend-module)

Nach der Installation erscheint im Backend eine eigene Rubrik:

- LUMAS AntiSpam
- IP-Sperrliste
- Blockierte IPs
- Reputation / Eskalationsstufe
- Whitelist &amp; permanente Sperren
- Spam-Log
- Alle blockierten Formularversuche
- Grund, Formular, Details (JSON)

Benutzer müssen die Module ggf. in den Backend-Rechten aktivieren.

Konfiguration
-------------

[](#konfiguration)

- Globale Defaults (Root-Seite) Auf der Root-Seite können Standardwerte für die gesamte Domain definiert werden: IP-Reputations-Sperre aktivieren Globale IP-Sperrdauer Mindest-Ausfüllzeit Session-Sperrdauer Sprache für Stopwort-Analyse Text-Mindestlänge Max. Links Stopwort-Schwelle Diese Werte gelten für alle Formulare, sofern sie nicht überschrieben werden.

Formular-spezifische Einstellungen
----------------------------------

[](#formular-spezifische-einstellungen)

In jedem Formular: 1.) AntiSpam aktivieren 2.) Formulartemplate ändern form\_wrapper\_lumas\_antispam.html5 3.) Falls Text-Area Feld im Formular verwendet wird, dieses "message", "nachricht" oder "comment" nennen damit Textprüfung greift.

Optionale Overrides:

- IP-Sperre aktivieren/deaktivieren
- Zeit- &amp; Text-Heuristik
- Sprache
- Nicht gesetzte Werte erben automatisch die Root-Defaults.

Funktionsweise (vereinfacht)
----------------------------

[](#funktionsweise-vereinfacht)

Formular wird aufgerufen → Startzeit wird gespeichert

Beim Absenden:

- Honeypot prüfen
- Mindest-Zeit von Seitenaufruf bis Absenden prüfen
- Textlänge &amp; Sprache prüfen

Bei Verstoß:

- Formular wird nach x-tem Fehlversuch blockiert (Session Sperre)
- Session-Fehlversuche gezählt
- IP-Negativ Reputation erhöht -&gt; 24h Sperre für IP
- Log-Eintrag geschrieben

Ab bestimmten Schwellen:

- Session-Sperre
- Globale IP-Sperre mit eskalierender Dauer
- Eskalationslogik (IP-Reputation) Verstöße IP-Sperre 5 24 h 10 120 h 15 240 h 20 360 h +120 h je 5 weitere

Template-Integration
--------------------

[](#template-integration)

Formular-Wrapper-Template:

- form\_wrapper\_lumas\_antispam.html5

Funktionen:

- Automatisches Honeypot-Feld
- Zeitstempel (form\_start)
- AJAX-Support
- Automatisches Scrollen bei Fehlern

Kompatibilität
--------------

[](#kompatibilität)

- Contao 5.3+
- Contao 6.x
- PHP 8.2 – 8.4
- Keine externen APIs

work in progress
----------------

[](#work-in-progress)

Weitere Ideen Änderungen gerne hier oder in eigener Branch.

MIT License © LUMAS Consulting

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance78

Regular maintenance activity

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~8 days

Total

10

Last Release

121d ago

Major Versions

v1.1.1 → 2.0.02026-03-07

PHP version history (2 changes)v1.0.0PHP &gt;=8.1

v1.0.1PHP ^8.2 || ^8.3 || ^8.4

### Community

Maintainers

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

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/lumas-antispam-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/lumas-antispam-bundle/health.svg)](https://phpackages.com/packages/lumas-antispam-bundle)
```

###  Alternatives

[contao/manager-bundle

Provides the Contao Managed Edition

181.3M75](/packages/contao-manager-bundle)[markocupic/calendar-event-booking-bundle

Contao Calendar Event Booking Bundle

135.2k1](/packages/markocupic-calendar-event-booking-bundle)[contao-community-alliance/dc-general

Universal data container for Contao

1680.8k92](/packages/contao-community-alliance-dc-general)

PHPackages © 2026

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