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églage | Par visiteur et par formulaire | Idéal pour |
|---|---|---|
| Standard (par défaut) | 5 par minute, 3 au plus en 10 secondes | La plupart des formulaires |
| Relaxed | 20 par minute | Formulaires derrière une connexion, outils internes, événements sur un Wi-Fi partagé |
| Strict | 2 toutes les 10 minutes | Formulaires de contact et commerciaux, où une répétition est un double clic ou un bot |
| Custom | 1 à 1 000 toutes les 10 secondes, minutes, 10 minutes, heures ou jours | Une participation par personne, bornes et autres cas particuliers |
Les préréglages comparés
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ègle | Limite | Comptée par |
|---|---|---|
| Garde anti-flood, avant la recherche du formulaire | 600 par minute | IP, tous formulaires confondus |
| Inter-formulaires | 30 par minute, ou le débit par minute Custom s'il est plus élevé | IP, tous formulaires confondus |
| Par formulaire | 300 par minute, ou un plafond Custom de 1 à 10 000 | Formulaire, tous visiteurs confondus |
GET /f/<formId>/schema | 60 par minute | IP et formulaire |
| La frame de vérification Ikiform | 60 par minute | IP et formulaire |
| API REST | 100 par minute | Clé 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.
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"}- Attendez le nombre de secondes indiqué par
Retry-Afteravant de renvoyer. - Si des visiteurs légitimes atteignent la limite, passez le formulaire sur Relaxed ou Custom.
- Si votre serveur envoie pour le compte des visiteurs, chaque envoi partage l'IP de votre serveur. Voir Depuis un serveur.