Limitação de taxa com hooks
Implemente a limitação da taxa de solicitações no hook handle() para proteger rotas de API.
Limitação de taxa com hooks é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Sveltejs Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Sveltejs Academy inclui 4 aulas no total.
Por que limitar taxas
Proteja as APIs contra abusos, como tentativas de login por força bruta, extração automatizada de dados e sobrecargas acidentais.
Implemente no manipulador
Rastreie as solicitações por IP na memória ou no Redis e rejeite-as quando excederem o limite.
const counts = new Map();
export async function handle({ event, resolve }) {
const ip = event.getClientAddress();
const n = (counts.get(ip) || 0) + 1;
counts.set(ip, n);
if (n > 100) return new Response("Too many", { status: 429 });
return resolve(event);
}Janela deslizante
Use um algoritmo de janela deslizante para fazer uma limitação de taxa justa.
Com suporte do Redis
Em implantações com várias instâncias, armazene as contagens no Redis ou em outro armazenamento compartilhado semelhante.
Limites por rota
Aplique limites diferentes a rotas diferentes (por exemplo, um limite mais rigoroso em /login).
Status 429
Retorne HTTP 429 com um cabeçalho Retry-After para que os clientes saibam quando tentar novamente.
Indicações nos cabeçalhos
Defina cabeçalhos X-RateLimit-* para informar aos clientes sobre sua cota.
Limites por usuário
Para usuários autenticados, associe o limite ao ID do usuário para garantir justiça.
Bibliotecas
Use bibliotecas existentes (sveltekit-rate-limiter) em vez de criar sua própria solução.
Registros
Registre as solicitações limitadas para detectar ataques e ajustar os limites.
Camada de CDN
Use o Cloudflare ou uma solução semelhante para aplicar limites básicos na borda, antes que as solicitações cheguem ao seu aplicativo.
Verificação rápida
Qual código de status você retorna quando o limite de taxa é excedido?
Recapitulação
Implemente a limitação de taxa no gancho do manipulador. Use o Redis em configurações com várias instâncias e retorne 429 com Retry-After.
Aprenda HTML com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 41
- Aulas
- 163
Perguntas Frequentes
A aula “Limitação de taxa com hooks” é grátis?
Sim — o texto completo de “Limitação de taxa com hooks” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Sveltejs Academy, atualize para CoddyKit PRO. O curso de Sveltejs Academy inclui 4 aulas no total.
O que vou aprender em “Limitação de taxa com hooks”?
Implemente a limitação da taxa de solicitações no hook handle() para proteger rotas de API. Você pratica Sveltejs Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Sveltejs Academy?
Nenhuma experiência prévia é necessária. Sveltejs Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Limitação de taxa com hooks”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Sveltejs Academy?
Sim. Cada aula de Sveltejs Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Proteção contra CSRF em ações de formulários
- Prevenção de XSS em {#html}
- Variáveis de ambiente: $env/static e $env/dynamic
- Limitação de taxa com hooks