ID do formulário

Limites de taxa

Presets de limite de taxa por formulário com os números exatos, como eles se recarregam e como é um 429.

Os limites de taxa impedem que um visitante, ou um script, inunde um formulário. Todo formulário tem um preset, e todo limite é contado com exatidão, antes de o corpo ser lido. Um envio rejeitado não consome nada da cota.

Presets

PresetPor visitante e formulárioIndicado para
Standard (padrão)5 por minuto, no máximo 3 em 10 segundosA maioria dos formulários
Relaxed20 por minutoFormulários atrás de login, ferramentas internas, eventos com Wi-Fi compartilhado
Strict2 a cada 10 minutosFormulários de contato e de vendas, onde uma repetição é um clique duplo ou um bot
CustomDe 1 a 1.000 a cada 10 segundos, minuto, 10 minutos, hora ou diaUma participação por pessoa, quiosques e outros casos especiais

Os presets comparados

Um visitante clica em Enviar uma vez por segundo durante 2 minutos. Cada quadrado é um segundo: quadrados cheios foram aceitos, os vazios receberam 429.

Standard 5 por minuto, 3 em 10 segundos14 de 120 aceitos

Relaxed 20 por minuto59 de 120 aceitos

Strict 2 a cada 10 minutos2 de 120 aceitos

Como os limites se recarregam

Os limites são uma cota contínua, não uma janela fixa de relógio. Um visitante que estava quieto começa com a cota cheia e pode usá-la de uma vez. Depois disso, mais um envio é permitido a cada janela dividida pelo limite: a cada 12 segundos no Standard, a cada 3 segundos no Relaxed e a cada 5 minutos no Strict. Depois de uma janela inteira sem envios, a cota fica cheia de novo.

O Standard também tem uma regra de rajada de 3 envios a cada 10 segundos, então a primeira rajada dele é 3, não 5. Relaxed, Strict e Custom não têm regra de rajada separada.

Limites que sempre valem

RegraLimiteContado por
Proteção contra flood, antes da busca do formulário600 por minutoIP, somando todos os formulários
Entre formulários30 por minuto, ou a taxa por minuto do Custom quando for maiorIP, somando todos os formulários
Por formulário inteiro300 por minuto, ou um teto Custom de 1 a 10.000Formulário, somando todos os visitantes
GET /f/<formId>/schema60 por minutoIP e formulário
O frame de verificação do Ikiform60 por minutoIP e formulário
API REST100 por minutoChave de API

Taxas Custom mais rápidas que a proteção contra flood são recusadas quando você salva; por exemplo, uma janela de 10 segundos permite no máximo 100. Carregar o schema de um formulário ou a verificação humana nunca gasta a cota de envios.

Custom

  • Envios por visitante: um número inteiro de 1 a 1.000, e uma janela de 10 segundos, um minuto, 10 minutos, uma hora ou um dia.
  • Teto por minuto do formulário inteiro: opcional, de 1 a 10.000. Ele substitui o padrão de 300 por minuto para o formulário inteiro.
  • Uma janela de uma hora ou de um dia serve para formulários com uma participação por pessoa, como sorteios ou confirmações de presença. Lembre que muitas pessoas podem compartilhar um IP, por exemplo em um escritório ou evento.

Quando um limite é atingido

O envio é recusado com 429 rate_limited e um header Retry-After com os segundos inteiros até o próximo envio ser permitido. Envios de formulário pelo navegador veem uma página hospedada "Slow down". Código com fetch consegue ler o Retry-After, porque o Ikiform o expõe 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. Espere os segundos de Retry-After antes de enviar de novo.
  2. Se visitantes legítimos atingirem o limite, mude o formulário para Relaxed ou Custom.
  3. Se o seu servidor envia em nome dos visitantes, todo envio compartilha o IP do seu servidor. Veja A partir de um servidor.
As configurações de limite de taxa são privadas. Elas nunca são expostas pelo endpoint de schema nem pela API REST.