Download the PHP package con2net/contao-anti-spam-form-bundle without Composer

On this page you can find all versions of the php package con2net/contao-anti-spam-form-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package contao-anti-spam-form-bundle

Contao Anti-SPAM Form Bundle

Ein umfassendes Anti-SPAM Bundle für Contao Formulare mit Multi-Layer-Schutz.


Wichtiger Hinweis / Disclaimer

Dieses Bundle bietet umfangreiche SPAM-Schutz-Mechanismen, kann aber keine 100%ige SPAM-Erkennung garantieren.

Bitte beachte:

Empfehlung: Teste das Bundle ausführlich in einer Staging-Umgebung, bevor du es produktiv einsetzt. Überwache die Logs regelmäßig und passe die Einstellungen an deine Bedürfnisse an.


Features

Multi-Layer SPAM-Schutz

Das Bundle kombiniert 7 verschiedene Schutzebenen, die einzeln aktiviert und konfiguriert werden können:

  1. ALTCHA Captcha - Modernes, barrierefreies Captcha ohne Tracking
  2. IP-Blacklist - Prüfung gegen StopForumSpam.com Datenbank
  3. E-Mail-Blacklist - Erkennung bekannter SPAM-E-Mail-Adressen
  4. Content-Analyse - 7 intelligente Pattern-Checks (URLs, Sonderzeichen, etc.)
  5. Honeypot-Felder - Unsichtbare Fallen für Bots (3 Varianten)
  6. Zeit-basierte Validierung - Erkennung zu schneller/langsamer Submits
  7. JavaScript-Token - Überprüfung ob JavaScript aktiv ist

Highlights


Installation

Via Contao Manager

  1. Contao Manager öffnen
  2. Nach "con2net/contao-anti-spam-form-bundle" suchen
  3. Bundle installieren
  4. Datenbank aktualisieren

Alternativ auch via Composer

Datenbank aktualisieren:

Das war's. Das Bundle funktioniert direkt nach der Installation ohne weitere Konfiguration.


Konfiguration

Zero-Config (empfohlen für die meisten Installationen)

Nach der Installation und Datenbankaktualisierung ist das Bundle sofort einsatzbereit:

Optionaler eigener HMAC-Key (.env.local)

Für Produktionsumgebungen, in denen du den HMAC-Key selbst verwalten möchtest (z.B. für Secrets Management oder manuelle Key-Rotation), kannst du ihn in der .env.local setzen:

Key generieren (Linux/Mac):

Key generieren (PHP, plattformunabhängig):

Key generieren (Windows PowerShell):

Ein manuell gesetzter Key hat immer Vorrang vor dem automatisch generierten.

Hinweis für Shared Hosting: Die .env.local gehört ins Root-Verzeichnis deiner Contao-Installation – dort wo auch die composer.json liegt, nicht in den Webroot (public/ oder web/). Beispiel: Webroot ist ./client_1234/public_html/public/, dann gehört die .env.local nach ./client_1234/public_html/. Falls noch keine .env vorhanden ist, lege zusätzlich eine leere .env Datei direkt daneben ins gleiche Verzeichnis.

Updater von v1.0.x: Wenn du bisher ALTCHA_HMAC_KEY in der .env.local hattest und auf den automatisch generierten Key wechseln möchtest, kannst du die Zeile einfach auskommentieren oder entfernen. Das Bundle generiert dann beim nächsten Seitenaufruf automatisch einen neuen Key.

Optionale ALTCHA-Konfiguration (config.yml)

Das Bundle funktioniert vollständig ohne Einträge in der config.yml. Falls du die Schwierigkeit oder den Algorithmus anpassen möchtest:

Updater von v1.0.x: Wenn du bisher algorithm: 'SHA-256' in deiner config.yml hattest, funktioniert das weiterhin ohne Änderungen. Du kannst den Eintrag aber entfernen, um den neuen PBKDF2-Standard zu nutzen – oder auf pbkdf2-sha384 / pbkdf2-sha512 upgraden für mehr Sicherheit.

Verfügbare Algorithmen

Algorithmus Internes Format Sicherheit Empfehlung
pbkdf2 PBKDF2/SHA-256 ★★★★☆ Standard für neue Installationen
pbkdf2-sha384 PBKDF2/SHA-384 ★★★★★ Erhöhte Sicherheit
pbkdf2-sha512 PBKDF2/SHA-512 ★★★★★ Maximale PBKDF2-Sicherheit
SHA-256 SHA-256 (Legacy) ★★☆☆☆ Bestehende Installationen (Backwards-Compat)
SHA-384 SHA-384 (Legacy) ★★★☆☆ Bestehende Installationen
SHA-512 SHA-512 (Legacy) ★★★☆☆ Bestehende Installationen
argon2id Argon2id ★★★★★ Vorbereitet – kommt in einer der nächsten Versionen
scrypt Scrypt ★★★★★ Vorbereitet – kommt in einer der nächsten Versionen

Hinweis zu Legacy-Algorithmen (SHA-256/384/512): Diese nutzen das ältere V1 ALTCHA-Format und sind ausschließlich für Backwards-Kompatibilität mit bestehenden Installationen vorgesehen. Für neue Installationen sind PBKDF2-Varianten empfohlen.

Schwierigkeitsgrade (so in etwa ;-))

max_number Schwierigkeit Durchschnittliche Lösungszeit Empfohlen für
10.000 Very Easy < 1 Sekunde Testing
50.000 Easy 1-2 Sekunden Hoher Traffic / Mobile
100.000 Medium 2-4 Sekunden Standard-Websites
250.000 Hard 5-10 Sekunden Hochsichere Formulare
500.000 Very Hard 10-20 Sekunden Maximale Sicherheit

Hinweis zu PBKDF2-SHA-384/512: Bei stärkeren Algorithmen kann die Lösungszeit etwas länger sein. Ggf. max_number entsprechend anpassen.

Optionale IP-Blacklist Konfiguration


Verwendung

Formular erstellen

  1. Backend → Formulare → Neues Formular
  2. Füge deine Formularfelder hinzu (E-Mail, Name, Nachricht, etc.)
  3. Aktiviere den Anti-SPAM Schutz

Anti-SPAM aktivieren

Backend → Formulare → [Dein Formular]

Scrolle zur Sektion "Anti-SPAM Schutz" und aktiviere die gewünschten Features.

Basis-Einstellungen

Erweiterte Features

Content-Analyse konfigurieren

Backend → Formulare → [Dein Formular] → Content-Analyse

Die Content-Analyse bietet 7 intelligente Tests, die für jedes Formular-Feld einzeln aktiviert werden können:

1. URLs im Text prüfen

Erkennt Links in Nachrichtenfeldern (sehr viel SPAM enthält URLs).

2. Nur Sonderzeichen prüfen

Erkennt Nachrichten wie !!!###$$$.

3. Tempmail-Adressen prüfen

Erkennt Wegwerf-E-Mail-Adressen (10minutemail.com, etc.).

4. Nachricht zu kurz prüfen

Erkennt zu kurze Nachrichten wie "test", "hi".

5. Repetitive Zeichen prüfen

Erkennt Wiederholungen wie aaaaaaa, !!!!!!.

6. Großbuchstaben prüfen

Erkennt übermäßig viele Großbuchstaben (HELLO THIS IS IMPORTANT!!!).

7. SPAM-Keywords prüfen

Sucht nach typischen SPAM-Wörtern.

Score-System

Honeypot-Felder hinzufügen

Backend → Formulare → [Dein Formular] → Neues Formularfeld

Wähle einen der 3 Honeypot-Typen:

  1. Honeypot (Text) - Getarntes Textfeld
  2. Honeypot (Textarea) - Getarntes Nachrichtenfeld
  3. Honeypot (Checkbox) - Getarnte Checkbox

Feldname: Beliebig (z.B. local_office_address, business_role)

Empfehlenswert sind Feldnamen, die eine gewisse Verlockung auf Bots ausüben. Nicht zu "üblich" – AutoComplete-Mechanismen in Browsern könnten das Feld sonst bei echten Nutzern vorausfüllen.

Empfohlene Labels (unauffällig):

ALTCHA-Feld hinzufügen

Backend → Formulare → [Dein Formular] → Neues Formularfeld

  1. Feldtyp: ALTCHA Anti-SPAM Widget
  2. Feldname: captcha (empfohlen)
  3. Fertig! Das Widget konfiguriert sich automatisch.

E-Mail-Benachrichtigung

In deiner E-Mail-Benachrichtigung (Notification Center oder Contao Standard) steht das Token ##form_spam_marker## zur Verfügung.

Beispielhafte Verwendung im Betreff:

Ergebnis:

So kannst du SPAM-Nachrichten im Posteingang sofort erkennen und z.B. automatisch in einen Spam-Ordner verschieben lassen.


Logs & Debugging

System-Log

Backend → System → System-Log

Hier findest du alle Anti-SPAM Ereignisse:

Debug-Modus aktivieren für detaillierte Logs:


Troubleshooting

.env.local wird nicht erkannt

Die .env.local muss im Contao-Root-Verzeichnis liegen – dort wo die composer.json ist. Bei typischen Shared-Hosting-Setups liegt der Webroot in einem Unterordner (public/ oder web/). Die .env.local gehört eine Ebene darüber, nicht in den Webroot. Nach dem Anlegen der Datei unbedingt den Cache leeren:

ALTCHA wird nicht angezeigt

  1. ALTCHA-Formularfeld hinzugefügt?
  2. Cache geleert? (php vendor/bin/contao-console cache:clear)
  3. Browser-Console: JavaScript-Fehler?
  4. Contao-Manager: Datenbank aktualisiert? (bzw.contao:migrate)

Content-Analyse funktioniert nicht

  1. Content-Analyse aktiviert?
  2. Mindestens ein Test aktiviert?
  3. Felder ausgewählt?
  4. Debug-Modus: Logs prüfen

Legitime Anfragen werden als SPAM erkannt

  1. Schwellwert erhöhen (z.B. von 50 auf 70)
  2. Tests deaktivieren die zu streng sind
  3. Felder anpassen (z.B. "Website"-Feld vom URL-Check ausschließen)
  4. Debug-Modus aktivieren und Scores analysieren

SPAM kommt trotzdem durch

  1. Schwellwert senken (z.B. von 50 auf 30)
  2. Mehr Tests aktivieren
  3. IP-Blacklist aktivieren
  4. ALTCHA aktivieren
  5. Honeypot-Felder hinzufügen

Technische Details

Systemanforderungen

Architektur


Changelog

Siehe CHANGELOG.md für eine vollständige Versionshistorie.


Lizenz

MIT License – siehe LICENSE


Credits


Support

Projekt: https://github.com/con2net/contao-anti-spam-form-bundle
Website: https://www.connect2net.de


Entwickelt mit ❤️ in Norddeutschland von connect2Net webServices / Stefan Meise


All versions of contao-anti-spam-form-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
contao/core-bundle Version ^4.13 || ^5.3
symfony/framework-bundle Version ^5.4 || ^6.0 || ^7.0
altcha-org/altcha Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package con2net/contao-anti-spam-form-bundle contains the following files

Loading the files please wait ...