Envoi multiple de formulaire

47316
,

Bonsoir,

J'ai fait des recherches sur internet pour pouvoir empêcher un envoi multiple d'un formulaire (spammer le bouton submit), mais je n'ai trouvé aucune solution qui me convient.

Alors ma question est telle : y'a-t-il un moyen d'empêcher cet multiple envoi sans avoir recours à javascript ? Puisqu'il est possible de désactiver celui-ci.

Merci à ceux qui prendront le temps d'y regarder.

8 Réponse

44613
,

Qu'appelles-tu exactement un envoi multiple d'un formulaire?
Si tu veux faire quelque chose contre les spammeurs, tu peux ajouter des règles sur les IPs dans ta validation côté serveur, du genre, la même IP peut pas poster plus de 3 messages toutes les heures ou quelque chose comme ça, ou une vérification Captcha côté client..

57066
,

bonjour,
La redirection permet justement d'éviter cela mais cela n'empêche personne de faire "page précédente" et de re-soumettre son formulaire.
Donc à moins de générer une clé dans ton formulaire en php et de faire une verification coté serveur, je ne vois pas d'autre solution que d'utiliser le js.

26574
,

Tu peux utiliser des captchas, comme ça tu bloques déjà les robots. .Sinon pour le coté humain, tu peux, comme précédemment cité, créer un règle en fonction de l'IP de l'utilisateur, qui n'authorise que x envois de formulaires toutes les x heures par exemple

47316
,

Bonjour à vous, merci d'avoir pris le temps de me répondre.

En faite, lorsque j'ai mon formulaire, si j'appuye rapidement sur le bouton submit plusieurs fois de suite, il va appeler plusieurs fois la page suivante, puisqu'il n'a pas eu le temps de la charger. Je cherche un moyen de faire ceci:
$('button').click(function(){$(this).attr('disabled', 'disabled'); });(oumême de désactiver le formulaire, enfin il existe plusieurs solutions)
Mais sans js, puisqu'il est désactivable.

47316
,

Exactement comme ici, si vous mettez une réponse et que vous appuyez deux fois brièvement sur répondre, deux commentaires se postent.

42413
,

Cela fait pas mal de temps que je dev plus mais donc si ton formulaire utilise php, avant le ?>
met un exit;
Bonne soirée.

47316
,

Le problème est tel que le navigateur avant que toute la page soit chargée avant de l'afficher, on a donc plusieurs fois le temps de cliquer sur le bouton. (c'est ce que j'en déduis)
Et étant donné que j'utilise blade pour mes views (et laravel pour le reste), je ne peux mettre de exit à cet endroit.
Merci, de même.

Default
,

If you want to do something against spammers, you can add rules on IPs in your server-side validation, like, the same IP can not post more than 3 messages every hour or something like that vivavideo