承接 lumas/antispam-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lumas/antispam-bundle

最新稳定版本:2.0.0

Composer 安装命令:

composer require lumas/antispam-bundle

包简介

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

README 文档

README

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

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 & 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

composer require lumas/antispam-bundle

Danach:

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

Die Datenbanktabellen werden automatisch angelegt.

Backend-Module

Nach der Installation erscheint im Backend eine eigene Rubrik:

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

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

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

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- & Text-Heuristik
  • Sprache
  • Nicht gesetzte Werte erben automatisch die Root-Defaults.

Funktionsweise (vereinfacht)

Formular wird aufgerufen → Startzeit wird gespeichert

Beim Absenden:

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

Bei Verstoß:

  • Formular wird nach x-tem Fehlversuch blockiert (Session Sperre)
  • Session-Fehlversuche gezählt
  • IP-Negativ Reputation erhöht -> 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

Formular-Wrapper-Template:

  • form_wrapper_lumas_antispam.html5

Funktionen:

  • Automatisches Honeypot-Feld
  • Zeitstempel (form_start)
  • AJAX-Support
  • Automatisches Scrollen bei Fehlern

Kompatibilität

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

work in progress

Weitere Ideen Änderungen gerne hier oder in eigener Branch.

MIT License © LUMAS Consulting

统计信息

  • 总下载量: 65
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固