Projet

Général

Profil

Development #38676

"honeypot", anti-demande "spam"

Ajouté par Frédéric Péters il y a plus de 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
-
Version cible:
-
Début:
20 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

D'une discussion citant https://github.com/jamesturk/django-honeypot, c'est-à-dire taper dans les formulaires un champ genre :

<div style="display: none;">
    <label>leave this field blank to prove your humanity
        <input type="text" name="{{fieldname}}" value="{{value}}" />
    </label>
</div>

et compter sur le fait qu'un robot spammeur de formulaires remplira de manière aveugle tous les champs, et donc pouvoir refuser les demandes qui auraient ce champ complété.


Fichiers

Révisions associées

Révision 2b19ab5e (diff)
Ajouté par Frédéric Péters il y a presque 4 ans

misc: add antibot honeypot (#38676)

Révision 7f2dcad5 (diff)
Ajouté par Frédéric Péters il y a presque 4 ans

misc: log honeypot success (#38676)

Historique

#1

Mis à jour par Marie Kuntz il y a plus de 4 ans

ce serait sous la forme d'un type de champ ? d'un paramétrage du formulaire qui ferait apparaître le champ en début ou fin de formulaire ?

#2

Mis à jour par Frédéric Péters il y a plus de 4 ans

Non ce serait tout à fait invisible/automatique, pas une option.

#3

Mis à jour par Marie Kuntz il y a plus de 4 ans

Est-ce que le display:none; perturbera les lecteurs d'écran ou c'est aussi invisible pour eux ? (pour l'accessibilité)

#4

Mis à jour par Frédéric Péters il y a plus de 4 ans

C'est invisible.

#5

Mis à jour par Marie Kuntz il y a plus de 4 ans

ça m'a l'air cool 👍

#6

Mis à jour par Frédéric Péters il y a presque 4 ans

#7

Mis à jour par Thomas Noël il y a presque 4 ans

  • Statut changé de Solution proposée à Solution validée

Roh c'est plus simple (et joli) que ce j'avais imaginé. Profitons des 15 jours encore en recette pour tester ce genre de choses.

#8

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 2b19ab5e86565263675b1fb072c3232a1019825e
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Apr 30 22:24:16 2020 +0200

    misc: add antibot honeypot (#38676)

Et puis je me suis rappelé que je voulais aussi ajouter du logging basique pour voir si ça marchait, et du coup commit supplémentaire juste derrière pour faire :

+                get_logger().info('form %s - honeypot was touched' % self.formdef.name)
#9

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF