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
- Ajoutez
djangocms_form_builder_honeypotàINSTALLED_APPS(aprèsdjangocms_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.
- 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>"
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| djangocms_form_builder_honeypot-0.0.3.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|