Skip to main content

djangocms_form_builder_honeypot

Greffon pour djangocms-form-builder qui ajoute automatiquement un champ leurre invisible aux formulaires CMS pour filtrer les soumissions de bots.

Fonctionnalités

  • Injection automatique : un champ texte masqué est ajouté à chaque formulaire CMS via un processeur CMS (sans surcharger les templates Bootstrap du form-builder)
  • Rendu identique aux autres champs (form-floating, form-control, etc.)
  • Détection heuristique : rejette les soumissions avec texte aléatoire ou emails obfusqués (bots qui contournent le honeypot)
  • Rejet silencieux : par défaut, les bots voient un succès mais aucune action (email, Brevo, sauvegarde BDD) n'est exécutée
  • Configuration par formulaire dans l'admin CMS (section « Anti-spam » du plugin Form)
  • Valeurs par défaut configurables globalement via les settings Django

Requirements

  • Python 3.10+
  • Django 3.2+
  • djangocms-form-builder ^0.5
  • django-cms

Installation

pip install djangocms_form_builder_honeypot

Configuration

  1. Ajoutez djangocms_form_builder_honeypot à INSTALLED_APPS (après djangocms_form_builder) :
INSTALLED_APPS = [
    # ...
    "djangocms_form_builder",
    "djangocms_form_builder_honeypot",
    # ...
]

Le module enregistre automatiquement un CMS_PLUGIN_PROCESSOR pour injecter le champ dans le HTML rendu du plugin Form.

  1. Valeurs par défaut dans settings.py (utilisées à la création d'un nouveau formulaire CMS) :
DJANGOCMS_FORM_BUILDER_HONEYPOT_ENABLED = True
DJANGOCMS_FORM_BUILDER_HONEYPOT_FIELD_NAME = "site_web"
DJANGOCMS_FORM_BUILDER_HONEYPOT_LABEL = "Site web"
DJANGOCMS_FORM_BUILDER_HONEYPOT_SILENT_REJECT = True
DJANGOCMS_FORM_BUILDER_HONEYPOT_HEURISTIC_SPAM_ENABLED = True
DJANGOCMS_FORM_BUILDER_HONEYPOT_SUCCESS_MESSAGE = "<p>Merci pour votre message.</p>"
  1. Dans l'admin CMS, ouvrez un plugin Form : la section Anti-spam permet de configurer pour chaque formulaire :
    • Activer / désactiver le champ leurre
    • Nom et libellé du champ
    • Rejet silencieux
    • Détection heuristique du spam (texte aléatoire, emails obfusqués)

Fonctionnement

Le champ est rendu comme un champ texte classique du form-builder, puis masqué hors écran. Les utilisateurs humains ne le voient pas ; les bots le remplissent souvent. Si le champ contient une valeur à la soumission, la requête est ignorée côté serveur.

Le module complète les protections existantes (Altcha, login requis, etc.) sans interaction utilisateur supplémentaire.

Metadata

Release files for djangocms_form_builder_honeypot 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangocms_form_builder_honeypot 0.0.3
File Size Uploaded
djangocms_form_builder_honeypot-0.0.3.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djangocms_form_builder_honeypot 0.0.3
File Interpreter ABI Platform
djangocms_form_builder_honeypot-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 18.7 kB

Release files / djangocms_form_builder_honeypot-0.0.3.tar.gz

Download URL djangocms_form_builder_honeypot-0.0.3.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3e575dfaabc186416cb89d2ad9416aafd4fd3cf343ce030476d5c3cead4aeef5
BLAKE2b-256 checksum
How to use checksums
43605a60155b3249a8f9efc7fa2061b94a99697d56f6285aa7c4dad693c66f84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.12.1 Linux/6.12.76-linuxkit

Release files / djangocms_form_builder_honeypot-0.0.3-py3-none-any.whl

Download URL djangocms_form_builder_honeypot-0.0.3-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
daa4b53913a3efaea725179c0748ea1c36ad409cc35223aec5229f8a10a84410
BLAKE2b-256 checksum
How to use checksums
2e01f7863668b718a4fd39abb76158b388e5e3643eaf94443de2bf73dacdf5d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.12.1 Linux/6.12.76-linuxkit

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page