forms: add a js honeypot (#89193) #1373
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/89193-honeypot2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
C'est désactivé par défaut pour le moment; pour voir ce que ça donne.
(et c'est pratique que ça reste désactivable, pour les tests)
WIP: forms: add a js honeypot (#89193)to forms: add a js honeypot (#89193)@ -770,0 +782,4 @@
size=25,
)
honeypot2.is_hidden = True
form.attrs['data-honey-pot-value'] = self.get_honeypot_value()
Dans une idée au début j'imaginais le calcul de la valeur en front mais il n'y a rien d'évident pour faire ça nativement en js (il y a bien une nouvelle API native, https://developer.mozilla.org/fr/docs/Web/API/SubtleCrypto/digest, mais ça fournit une "promise" qui va s'exécuter de manière asynchrone, alors qu'on a besoin du résultat tout de suite pour ne pas péter l'autosave).
Bref plutôt que quelque chose de ce goût voici plus bête, on met la valeur attendue dans un attribut data.
d1e26f3ca7
to9cb091d32d
@ -294,6 +295,7 @@ class TrackingCodesDirectory(Directory):
class FormPage(Directory, TempfileDirectoryMixin, FormTemplateMixin):
# noqa pylint: disable=too-many-public-methods
On passe à 51 méthodes dans la classe, une de trop, tant pis.