Skip to main content

Add-on djangocms-form-builder to add an invisible honeypot anti-spam field

Project description

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.)
  • 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_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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangocms_form_builder_honeypot-0.0.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file djangocms_form_builder_honeypot-0.0.1.tar.gz.

File metadata

File hashes

Hashes for djangocms_form_builder_honeypot-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4611c35ea19526219e9909888961d4e42131e275670a404f39f115c28f842665
MD5 c722f92f808f7ef93919ff9d96ec490d
BLAKE2b-256 c83fb2826c31fd1783bc6aa87f071711fb6056749fb5a17416454767d0686086

See more details on using hashes here.

File details

Details for the file djangocms_form_builder_honeypot-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_form_builder_honeypot-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4efb1a42e4c10f000776a6f4ab5e94329661287b5127181925a89e5759f1d732
MD5 b9e5af7ed2b6dfe21b95fbe37b99fe01
BLAKE2b-256 a0155ddc5e1d6856789e3c2ab9e278ce28b169792b8ab24e7826395a619be1f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page