ID du formulaire

Limites de débit

Les préréglages de limite de débit par formulaire, avec les chiffres exacts, leur recharge et ce à quoi ressemble un 429.

Les limites de débit empêchent un visiteur, ou un script, d'inonder un formulaire. Chaque formulaire a un préréglage, et chaque limite est comptée exactement, avant la lecture du corps. Un envoi refusé n'entame aucun quota.

Préréglages

PréréglagePar visiteur et par formulaireIdéal pour
Standard (par défaut)5 par minute, 3 au plus en 10 secondesLa plupart des formulaires
Relaxed20 par minuteFormulaires derrière une connexion, outils internes, événements sur un Wi-Fi partagé
Strict2 toutes les 10 minutesFormulaires de contact et commerciaux, où une répétition est un double clic ou un bot
Custom1 à 1 000 toutes les 10 secondes, minutes, 10 minutes, heures ou joursUne participation par personne, bornes et autres cas particuliers

Les préréglages comparés

Un visiteur appuie sur Envoyer une fois par seconde pendant 2 minutes. Chaque carré représente une seconde : les carrés pleins ont été acceptés, les vides ont reçu 429.

Standard 5 par minute, 3 en 10 secondes14 sur 120 acceptés

Relaxed 20 par minute59 sur 120 acceptés

Strict 2 toutes les 10 minutes2 sur 120 acceptés

Comment les limites se rechargent

Les limites sont un quota qui se recharge en continu, pas une fenêtre fixe calée sur l'horloge. Un visiteur calme commence avec le quota complet et peut l'utiliser d'un coup. Ensuite, un envoi supplémentaire est autorisé à chaque intervalle égal à la fenêtre divisée par la limite : toutes les 12 secondes pour Standard, toutes les 3 secondes pour Relaxed et toutes les 5 minutes pour Strict. Après une fenêtre complète sans envoi, le quota est de nouveau plein.

Standard a aussi une règle de rafale de 3 envois par 10 secondes, donc sa première rafale est de 3, pas de 5. Relaxed, Strict et Custom n'ont pas de règle de rafale séparée.

Les limites toujours appliquées

RègleLimiteComptée par
Garde anti-flood, avant la recherche du formulaire600 par minuteIP, tous formulaires confondus
Inter-formulaires30 par minute, ou le débit par minute Custom s'il est plus élevéIP, tous formulaires confondus
Par formulaire300 par minute, ou un plafond Custom de 1 à 10 000Formulaire, tous visiteurs confondus
GET /f/<formId>/schema60 par minuteIP et formulaire
La frame de vérification Ikiform60 par minuteIP et formulaire
API REST100 par minuteClé API

Les débits Custom plus rapides que la garde anti-flood sont refusés à l'enregistrement ; par exemple, une fenêtre de 10 secondes autorise 100 au maximum. Charger le schéma d'un formulaire ou la vérification humaine n'entame jamais le quota d'envoi.

Custom

  • Soumissions par visiteur : un nombre entier de 1 à 1 000, et une fenêtre de 10 secondes, une minute, 10 minutes, une heure ou un jour.
  • Plafond par minute pour le formulaire : facultatif, de 1 à 10 000. Il remplace la valeur par défaut de 300 par minute pour tout le formulaire.
  • Une fenêtre d'une heure ou d'un jour convient aux formulaires à une participation par personne, comme les jeux-concours ou les inscriptions à un événement. N'oubliez pas que de nombreuses personnes peuvent partager une même IP, par exemple dans un bureau ou lors d'un événement.

Quand une limite est atteinte

L'envoi est refusé avec 429 rate_limited et un en-tête Retry-After indiquant le nombre de secondes avant que le prochain envoi soit autorisé. Les envois de formulaire depuis un navigateur affichent une page hébergée « Slow down ». Le code fetch peut lire Retry-After, car Ikiform l'expose via CORS.

429 Too Many Requests
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-Request-Id: req_01k7v2c9t3e8m5q4x6z0a1b2c3
Content-Type: application/json; charset=utf-8

{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Please slow down."},"request_id":"req_01k7v2c9t3e8m5q4x6z0a1b2c3"}
  1. Attendez le nombre de secondes indiqué par Retry-After avant de renvoyer.
  2. Si des visiteurs légitimes atteignent la limite, passez le formulaire sur Relaxed ou Custom.
  3. Si votre serveur envoie pour le compte des visiteurs, chaque envoi partage l'IP de votre serveur. Voir Depuis un serveur.
Les réglages de limite de débit sont privés. Ils ne sont jamais exposés par l'endpoint de schéma ni par l'API REST.