Principais conclusões
- O Rate limiting protege a estabilidade do servidor ao limitar o número de pedidos que um utilizador ou bot pode fazer num período de tempo específico.
- Evita a exaustão de recursos, assegurando que scrapers maliciosos ou ataques de força bruta não roubam largura de banda a visitantes reais.
- A implementação de um limite é uma necessidade de desempenho, actuando como uma salvaguarda crítica que mantém o teu site rápido e acessível mesmo durante um pico de tráfego.
Provavelmente já viste o erro“429 Too Many Requests” antes. Talvez tenhas atualizado uma página demasiado depressa, ou algum script em segundo plano se tenha descontrolado e começado a martelar o teu servidor.
Irritante? Claro que sim. Mas há uma razão para que exista.
Sem rate limiting, o teu servidor está completamente aberto. Um único bot agressivo ou um pico de tráfego inesperado pode consumir os teus recursos em segundos. E isso acontece sempre na pior altura, mesmo quando precisas que o teu site funcione.
É isso que o rate limiting resolve. Coloca um limite rígido na frequência com que alguém pode fazer pedidos à sua aplicação. Simples, mas eficaz.
Este guia aborda o seu funcionamento. Veremos os algoritmos que capturam esses picos, os ataques que eles evitam (DDoS, tentativas de força bruta, os suspeitos do costume) e o que essas mensagens de erro realmente significam.
Depois passamos à implementação. Vou mostrar-te duas abordagens. Uma é a rota manual usando o nível gratuito do Cloudflare. A outra é uma solução gerida através da Cloudways, se preferires não tratar da configuração técnica por ti próprio.
Muito bem, vamos a isso.
- Como funciona o Rate Limiting?
- Porque é que o Rate Limiting é importante para a segurança?
- Códigos de erro de limitação de taxa e experiência do utilizador
- Como implementar o Rate Limiting?
- Método 1: Implementar Rate Limiting por meio de configuração manual (Free Cloudflare)
- Método 2: Implementar Rate Limiting via Cloudways Cloudflare Enterprise Addon
Como funciona o Rate Limiting?
O Rate Limiting não é complexo. É efetivamente um contador que se situa entre um utilizador e o seu servidor.
Pensa nisto como um torniquete de metro. Tocas no teu cartão (fazes um pedido) e a máquina verifica se tens uma viagem válida (limite não atingido). Se tiveres, a porta abre-se. Se não tiveres, a porta permanece fechada.
O sistema processa isto em três passos específicos:
- Rastreia: Precisa de saber quem és. Normalmente, este é o teu endereço IP. Para utilizadores com sessão iniciada ou APIs, pode ser o teu ID de utilizador.
- Medição: Verifica o seu histórico. Quantos pedidos fizeste nos últimos sessenta segundos?
- Acelera: Faz a chamada. Se estiveres abaixo do limite, estás bem. Se estiveres acima, ficas bloqueado ou atrasado.
Mas a contagem simples tem uma falha. Se apenas reiniciares o contador a cada minuto em ponto, os robots inteligentes podem enganar o sistema. É por isso que os engenheiros usam algoritmos específicos para suavizar as coisas.
Pára os bots maliciosos com a limitação automatizada da taxa de empresas
Implanta o Cloudflare Enterprise via Cloudways para identificar e bloquear ameaças de bots em tempo real. Protege os recursos do seu servidor por apenas US$ 4,99 por domínio.
Algoritmos comuns de limitação de taxa
Janela fixa
Esta é a versão mais básica. O contador é reiniciado no início do minuto, a cada minuto.
- O risco: Tem um ponto cego. Um bot pode enviar-te 100 pedidos às 12:00:59 e outros 100 às 12:01:00. Tecnicamente, obedece à regra “100 por minuto” para cada minuto separado. Mas o teu servidor acabou de receber um ataque de 200 pedidos em dois segundos.
Janela de correr
Isto corrige o ponto cego. Em vez de reiniciar no topo do relógio, olha para os últimos 60 segundos a partir do momento exato em que um pedido entra. Evita as duplas quedas, suavizando a contagem.
Balde de fichas
Este é popular para APIs porque permite o comportamento humano. Imagina um balde que é preenchido com tokens a uma velocidade constante. Quando fazes um pedido, gastas um token. Se te afastares por algum tempo, o teu balde enche-se.
Isto significa que, quando regressas, podes fazer uma série de pedidos rápidos. Por exemplo, carregar um painel de controlo sem seres bloqueado. Uma vez esgotados os tokens guardados, estás limitado à velocidade de recarga constante.
Porque é que o Rate Limiting é importante para a segurança?
A maioria das pessoas vê o rate limiting como uma questão de desempenho. Pensa que apenas evita que os servidores fiquem em baixo quando o tráfego aumenta.
Mas as equipas de segurança dos sítios Web confiam nele para proteção. Bloqueia ataques que funcionam inundando o sistema com pedidos.
Mitigação de DDoS
Os ataques de negação de serviço distribuído tentam afogar o teu servidor em tráfego falso. Existem diferentes tipos de ataques DDoS. Os ataques de camada 7 são mais difíceis de apanhar porque parecem normais – carregam páginas, fazem pesquisas, esse tipo de coisas.
A limitação de taxa filtra isso. Uma pessoa real não recarrega a mesma página 50 vezes num segundo. Define um limite e bloqueia o ataque, deixando passar os visitantes reais.
Força bruta e preenchimento de credenciais
Os piratas informáticos utilizam bots para testar milhares de combinações de palavras-passe na tua página de início de sessão. Não estão ali sentados a escrever cada uma delas manualmente.
Se limitares as tentativas de login a cinco por minuto, toda a sua abordagem cai por terra. O que antes demorava algumas horas, agora demora anos. O ataque torna-se inútil e eles seguem em frente.
Raspagem de conteúdo e negação de inventário
Os concorrentes utilizam bots para se apoderarem dos teus preços ou roubarem o teu conteúdo. No comércio eletrónico, os bots carregam os carrinhos de compras e retêm o inventário para que os clientes reais não possam comprar nada.
A limitação de velocidade cria uma barreira contra isto. Os robots movem-se a velocidades que nenhum humano consegue igualar, por isso o sistema detecta-os e bloqueia-os antes que possam causar danos.
Limitação da taxa API
A tua API é uma linha direta para a tua base de dados. Um programador escreve um código com erros que faz acidentalmente loops de pedidos, ou uma aplicação de terceiros começa a atacar o teu ponto de extremidade – qualquer um dos cenários pode deitar abaixo todo o teu serviço.
O Rate Limiting garante que nenhum utilizador ou script defeituoso possa esgotar o teu sistema.
Códigos de erro de limitação de taxa e experiência do utilizador
O teu servidor envia um código específico quando alguém atinge o teu limite de débito. Compreender o significado destes códigos ajuda-te a perceber se um cliente real precisa de assistência ou se o sistema está a funcionar como pretendido.
Estado HTTP 429: Demasiados pedidos
O erro 429 é o que a maioria dos sítios utiliza para limitar o débito. Quando alguém excede o teu limite, obtém esta resposta. Os browsers apresentam uma página de erro genérica. As APIs tratam-no como um sinal para abrandar e tentar novamente o pedido mais tarde, em vez de falhar completamente.
Erro 1015 (Cloudflare)
As contas da Cloudflare mostram o erro 1015 em vez de um 429 padrão. A principal diferença é onde ocorre o bloqueio. A rede de borda da Cloudflare interrompe a solicitação antes que ela chegue perto do teu servidor real.
Isto acontece com base nas regras de taxa que definiste através do painel de controlo. Durante um ataque DDoS ativo, estes erros aparecem frequentemente porque a camada de proteção está a fazer o seu trabalho.
“Estás a ser limitado na tarifa”
A tua camada de aplicação pode impor limites separadamente do que acontece ao nível do servidor. Os utilizadores podem ver um texto simples a dizer “You are being rate limited” (Estás a ser limitado em termos de taxa) quando isto entra em ação. O Twitter implementou este tipo de limite para restringir a quantidade de conteúdo que os utilizadores podem consumir num determinado período de tempo.
O objetivo nem sempre é evitar falhas no servidor. Por vezes, trata-se de controlar a utilização da plataforma e a atribuição de recursos de uma forma que se alinhe com o seu modelo de negócio.
Como implementar o Rate Limiting?
Para evitar que o teu servidor tombe, tens de decidir onde colocar a barreira. Geralmente, tens três opções de implementação.
Nível de aplicação (Plugins): Este é o mais fácil de configurar, mas o pior para o desempenho. Se utilizares um plug-in de segurança, o tráfego mau continua a chegar ao teu servidor e a executar código antes de ser bloqueado. Gasta recursos apenas para dizer “não”.
Nível do servidor (Nginx/Apache): Isto é estritamente melhor. Configura as regras diretamente no seu servidor Web. O tráfego chega à tua máquina, mas o servidor bloqueia-o antes de carregar os ficheiros pesados da tua aplicação.
Nível de borda (CDN/WAF): Este é o padrão ouro. O tráfego é bloqueado na borda da rede, geralmente em um farm de servidores completamente diferente (como o da Cloudflare). O teu servidor real nem sequer sente o impacto do ataque.
Agora que sabemos onde colocar as balaustradas, temos de ver a configuração. De seguida, abordaremos duas formas específicas de o fazer:
- Método #1 (Configuração manual)
- Método #2 (Proteção gerida)
Método 1: Implementar Rate Limiting por meio de configuração manual (Free Cloudflare)
Como mencionámos anteriormente, existem várias formas de implementar o rate limiting. Mas para esta configuração, vamos concentrar-nos na proteção Edge Level. Este é o padrão ouro.
Vou mostrar-te como implementar o rate limiting usando o Free Tier do Cloudflare. É o padrão da indústria e age como um escudo, bloqueando o tráfego ruim antes que ele chegue ao teu servidor.
As limitações do nível gratuito
A versão gratuita do Cloudflare é bastante restritiva. Tens de estar ciente destes limites rígidos antes de implementares a tua regra:
- Apenas uma regra: Obtém exatamente uma regra de limitação de taxa personalizada para todo o seu domínio. Isto obriga a um compromisso difícil. Tens de decidir que parte do teu site é mais vulnerável. É a tua página de início de sessão de administrador, a tua barra de pesquisa interna ou um ponto de extremidade de API específico? Não podes proteger todas elas ao mesmo tempo.
- Período de tempo bloqueado: O Período está bloqueado a 10 segundos. Não podes escolher uma janela mais longa, como 1 minuto ou 1 hora.
- Ação limitada: Apenas tens disponível a ação Bloquear. As opções avançadas, como Desafio gerido (CAPTCHA), não estão incluídas.
- Penalização fixa: A duração do bloqueio também está fixada em 10 segundos. Se alguém ativar a regra, fica bloqueado durante 10 segundos, após os quais pode tentar novamente. Se necessitares de mais regras ou de bloqueios mais longos, terás de atualizar para o plano Pro ($20/mês).
A configuração (Proteger a tua página de início de sessão)
Como só temos uma regra para trabalhar, vamos utilizá-la para impedir ataques de força bruta na tua área de início de sessão, uma vez que esta é a ameaça mais comum.
- Vai ao teu painel de controlo do Cloudflare e clica no domínio que queres proteger.

- Na barra lateral esquerda, clica no menu pendente Segurança e, em seguida, seleciona Regras de segurança.

- Clica no botão azul + Criar regra à direita e seleciona Regras de limitação da taxa.

- Dá-lhe um nome claro, como “Proteção de início de sessão”

- Define o tráfego (Quando os pedidos de entrada correspondem…):
- Campo: Seleciona o caminho URI.
- Operador: Seleciona igual.
- Valor: Introduz o teu caminho de início de sessão, como /wp-login.php (para WordPress) ou /admin.

- Define o Disparador (Quando a taxa excede…):
- Pedidos: Define um limite rigoroso, como 5.
- Período: Define o período de tempo para 1 minuto.

- Escolhe a Sanção (Depois actua…):
- Escolhe a ação: Seleciona Bloquear (proibição total) ou Desafio gerido (CAPTCHA).
- Duração: Define o tempo que os jogadores ficam na caixa de penalização. 1 hora é a norma para ataques de login.
- Clica em Implantar para ativar sua regra única.

Assim que carregas em “deploy”, o Cloudflare envia esta regra para a sua rede global e começa imediatamente a filtrar o tráfego para a tua página de login.
Os riscos da configuração manual
Embora este método seja gratuito, o limite de “uma regra” combinado com a restrição de 10 segundos cria lacunas significativas.
- O Problema do Looping: Como a duração do bloqueio é de apenas 10 segundos, um bot persistente vai simplesmente esperar pelo temporizador e começar a entrar na tua página de login novamente. Isso os torna mais lentos, mas não os impede.
- Ponto único de falha: Se usares a tua única regra para a página de início de sessão, a tua barra de pesquisa e a API ficam abertas a ataques DDoS.
- Alta sensibilidade: Uma janela de 10 segundos é muito curta. Se actualizares rapidamente a tua página de início de sessão ou utilizares um gestor de palavras-passe que tente rapidamente, poderás ativar a tua própria regra e bloquear-te no teu próprio site.
- Custos gerais de manutenção: À medida que o teu site cresce, tens de ajustar manualmente estes limites. Diferenciar entre um pico viral e um ataque torna-se um trabalho a tempo inteiro.
- Falsos positivos: Se tentares criar uma regra “abrangente” para salvar a tua única ranhura, é provável que bloqueies utilizadores legítimos ou danifiques as imagens e o CSS do teu site.
Claro que estas limitações podem ser atenuadas através da atualização para os planos pagos da Cloudflare, mas os custos aumentam rapidamente. O plano Pro custa 25 dólares por mês, enquanto o plano Business sobe para 250 dólares por mês. Se quisesses a verdadeira proteção de grau“Enterprise” que vamos abordar a seguir, normalmente custaria milhares de dólares por mês se comprada diretamente à Cloudflare.
Método 2: Implementar Rate Limiting via Cloudways Cloudflare Enterprise Addon
Como vimos na secção anterior, a via “gratuita” exige que sejas um técnico. Tens de configurar regras, preocupar-te com temporizadores de 10 segundos e monitorizar constantemente os falsos positivos.
O método 2 é diferente. Transfere a responsabilidade de ti para um sistema automatizado.
Este método usa o Cloudways Cloudflare Enterprise Add-on. Embora estejamos nos concentrando na limitação de taxa aqui, essa integração também inclui recursos mais amplos de desempenho e segurança, como Edge Page Caching, Argo Smart Routing e um WAF inteligente.
Normalmente, um plano Enterprise adquirido diretamente da Cloudflare custa milhares de dólares por mês. No entanto, a Cloudways tem uma parceria que te permite aceder a esta mesma infraestrutura por apenas $4,99 por mês por domínio.
Os passos de configuração
Primeiro, precisas de ativar o add-on Cloudflare Enterprise para a tua aplicação. Temos um guia detalhado que te orienta nas etapas completas da ativação do complemento Cloudflare Enterprise na Cloudways.

Quando tiveres o add-on ativo, não precisas de escrever regras complexas. Só precisas de acionar um único interrutor.
- Abre as configurações do Cloudflare: Dentro da tua aplicação Cloudways, vai para o separador Cloudflare.
- Navega até Definições: Clica na opção de menu Definições.

- Habilita a limitação de taxa: Desliza para baixo até à secção de segurança e muda a opção Limite de taxa para Ativar.

Como funciona (A abordagem “Hands-Off”)
É aqui que a diferença se torna óbvia. No Método 1, tinhas de adivinhar os números e usar uma ação de “Bloqueio” muito dura. No Método 2, a lógica é pré-configurada para um equilíbrio ótimo:
- Limiares inteligentes: O sistema monitoriza os pedidos de IP em intervalos de 60 segundos. Se um IP exceder os 200 pedidos, acciona a proteção. Este é um buffer muito mais seguro do que os limites rígidos que tínhamos de utilizar no nível gratuito.
- Desafios inteligentes: Em vez de um bloqueio rígido, a Cloudflare aplica Desafios Geridos aos pedidos que ultrapassam o limite. Isto significa que, se um utilizador real o desencadear de alguma forma, apenas terá de resolver um puzzle. Não fica bloqueado.
- Exclusões inteligentes: O sistema é pré-treinado para ignorar o tráfego seguro. Exclui automaticamente motores de pesquisa conhecidos e activos estáticos. Isto garante que o Googlebot pode rastrear o teu site sem ser banido e que os teus utilizadores legítimos não serão bloqueados só porque o seu browser carregou 50 imagens de uma só vez.
Porque é que isto é importante
Pelo preço de um café, elimina os riscos de que falámos no Método 1. Obtém uma firewall que sabe a diferença entre um motor de busca, uma imagem estática e um bot malicioso… automaticamente.
Que opção deves escolher?
Abordámos duas formas muito diferentes de resolver o mesmo problema. Então, qual delas é a mais adequada para a tua situação específica?
Escolhe o Método 1 (Cloudflare Diret) se:
- Queres um controlo granular: És um programador que quer ajustar cada variável das tuas regras de firewall.
- Tens o orçamento: Estás disposto a pagar os $20-$200/mês pelos níveis Pro/Business para obteres conjuntos de regras adequados.
- Não te importas com os limites: Estás no nível gratuito e aceitas que a tua proteção tenha intervalos de 10 segundos.
Escolhe o Método 2 (Cloudflare Enterprise via Cloudways) se:
- Precisas de segurança empresarial com um orçamento limitado: Obtém a mesma infraestrutura de alto nível da Cloudflare utilizada pelas grandes empresas por apenas 4,99 dólares/mês através da integração. (Aqui está uma lista de verificação de segurança na nuvem para planos de hospedagem gerenciada para obter detalhes)
- Pretende uma proteção automatizada: Prefere um sistema que utilize a aprendizagem automática para identificar e bloquear ameaças em tempo real, sem que seja necessário escrever ou atualizar manualmente as regras.
- Não podes arriscar problemas de SEO: Este método coloca automaticamente na lista branca os rastreadores de motores de busca verificados, como o Googlebot, para que o teu site permaneça indexado e visível, independentemente das tuas definições de segurança.
Protege o teu site sem arriscar as tuas classificações de pesquisa
Filtra os maus atores e garante que o Googlebot sempre tenha acesso. Obtém o motor Enterprise da Cloudflare através da Cloudways para um controlo de tráfego mais inteligente e automatizado.
Terminar!
O rate limiting mantém o teu servidor concentrado nos utilizadores reais, em vez de desperdiçar recursos com bots e scripts quebrados. Se não o fizeres, um pico de tráfego pode tornar tudo mais lento para todos os que tentam utilizar o teu site.
Abordamos duas maneiras de configurar isso. A configuração manual através do Cloudflare dá-te controlo sobre cada regra que crias. A opção automatizada através do Cloudflare Enterprise na Cloudways utiliza a aprendizagem automática para classificar o tráfego sem que tenhas de tomar conta dele.
Ambas as abordagens impedem o abuso de recursos. A diferença é o tempo que queres gastar a geri-los.
Qualquer que seja o caminho que tomes, a parte importante é fazê-lo. Deixar o tráfego sem controlo cria uma vulnerabilidade que não podes ignorar.
Lê também o nosso guia detalhado sobre limitação de taxas em Laravel.
Q. Qual é o significado de rate limiting?
A. A limitação de taxa é simplesmente um limite para a frequência com que alguém pode repetir uma ação no teu site dentro de um determinado período de tempo. Isto mantém o tráfego estável e impede os bots de sobrecarregarem os recursos do teu servidor.
Q. Ser limitado por uma taxa é mau?
A. Para um administrador de servidor, até é bom. Confirma que as suas regras de segurança estão a bloquear o tráfego agressivo. Para um visitante, significa apenas que clicou demasiado depressa e desencadeou um bloqueio temporário.
Q. O que é uma taxa limite?
A. A limitação de taxa é o “limite de velocidade” real que defines nas tuas regras. Por exemplo, permitir 5 tentativas de início de sessão por minuto é uma taxa limite. Qualquer coisa acima desse número é rejeitada.
Q. Qual é o significado de rate limited?
A. Significa que um utilizador ou bot enviou demasiados pedidos num curto espaço de tempo. O servidor bloqueia temporariamente o acesso ao sítio até que o limite seja reposto.
Start Growing with Cloudways Today.
Our Clients Love us because we never compromise on these
Abdul Rehman
O Abdul é um profissional de marketing experiente em tecnologia, movido a café e criativo, que adora manter-se a par das últimas actualizações de software e gadgets tecnológicos. É também um escritor técnico competente que consegue explicar conceitos complexos de forma simples para um público alargado. Abdul gosta de partilhar os seus conhecimentos sobre a indústria da nuvem através de manuais de utilizador, documentação e publicações em blogues.