forms: add a js honeypot (#89193) #1373

Merged
fpeters merged 2 commits from wip/89193-honeypot2 into main 2024-04-12 10:19:40 +02:00
Owner

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)

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)
fpeters added 1 commit 2024-04-05 18:52:37 +02:00
gitea/wcs/pipeline/head There was a failure building this commit Details
ec3d4608c0
forms: add a js honeypot (#89193)
(disabled by default for now)
fpeters added 1 commit 2024-04-05 19:31:09 +02:00
gitea/wcs/pipeline/head This commit looks good Details
d1e26f3ca7
misc: allow too many methods in FormPage (#89193)
fpeters changed title from WIP: forms: add a js honeypot (#89193) to forms: add a js honeypot (#89193) 2024-04-05 20:09:10 +02:00
fpeters reviewed 2024-04-05 20:14:10 +02:00
@ -770,0 +782,4 @@
size=25,
)
honeypot2.is_hidden = True
form.attrs['data-honey-pot-value'] = self.get_honeypot_value()
Author
Owner

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.

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.
fpeters force-pushed wip/89193-honeypot2 from d1e26f3ca7 to 9cb091d32d 2024-04-05 20:14:55 +02:00 Compare
fpeters reviewed 2024-04-05 20:15:19 +02:00
@ -294,6 +295,7 @@ class TrackingCodesDirectory(Directory):
class FormPage(Directory, TempfileDirectoryMixin, FormTemplateMixin):
# noqa pylint: disable=too-many-public-methods
Author
Owner

On passe à 51 méthodes dans la classe, une de trop, tant pis.

On passe à 51 méthodes dans la classe, une de trop, tant pis.
lguerin approved these changes 2024-04-12 10:17:00 +02:00
fpeters merged commit e905fd8f2c into main 2024-04-12 10:19:40 +02:00
fpeters deleted branch wip/89193-honeypot2 2024-04-12 10:19:40 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1373
No description provided.