express-rate-limitMiddleware limitado de taxa básica para expresso. Use para limitar solicitações repetidas a APIs públicas e/ou pontos de extremidade, como redefinição de senha. Reproduz bem com o expresso e ratelimit-header-Parser.
A documentação completa está disponível on-line.
import { rateLimit } from 'express-rate-limit'
const limiter = rateLimit ( {
windowMs : 15 * 60 * 1000 , // 15 minutes
limit : 100 , // Limit each IP to 100 requests per `window` (here, per 15 minutes).
standardHeaders : 'draft-8' , // draft-6: `RateLimit-*` headers; draft-7 & draft-8: combined `RateLimit` header
legacyHeaders : false , // Disable the `X-RateLimit-*` headers.
// store: ... , // Redis, Memcached, etc. See below.
} )
// Apply the rate limiting middleware to all requests.
app . use ( limiter )O limitador de taxa vem com um armazenamento de memória embutido e suporta uma variedade de lojas de dados externas.
Todas as opções de função podem ser assíncronas. Clique no nome para obter informações adicionais e valores padrão.
| Opção | Tipo | Observações |
|---|---|---|
windowMs | number | Quanto tempo para lembrar os pedidos de milissegundos. |
limit | number | function | Quantos pedidos a permitir. |
message | string | json | function | A resposta ao retorno após o limite é atingida. |
statusCode | number | Código de status HTTP após o alcance do limite (o padrão é 429). |
handler | function | A função a ser executada após o limite for atingida (substitui as configurações message e statusCode , se definido). |
legacyHeaders | boolean | Habilite o cabeçalho X-Rate-Limit |
standardHeaders | 'draft-6' | 'draft-7' | 'draft-8' | Ative o cabeçalho Ratelimit . |
identifier | string | function | Nome associado à política de cotas aplicada por esse limitador de taxa. |
store | Store | Use uma loja personalizada para compartilhar contagens de acertos em vários nós. |
passOnStoreError | boolean | Permitir ( true ) ou bloquear o tráfego ( false , padrão) se a loja ficar indisponível. |
keyGenerator | function | Identifique os usuários (padrão para o endereço IP). |
requestPropertyName | string | Adicione informações de limite de taxa ao objeto req . |
skip | function | Retorne true para ignorar o limitador para a solicitação fornecida. |
skipSuccessfulRequests | boolean | RESPOSTAS DE RESPOSTA 1XX/2XX/3XX. |
skipFailedRequests | boolean | RESPOSTAS DESCONTE 4XX/5XX. |
requestWasSuccessful | function | Usado por skipSuccessfulRequests e skipFailedRequests . |
validate | boolean | object | Ativar ou desativar verificações de validação internas. |
Patrocinado pela Zuplo, um gateway de API totalmente gerenciado para desenvolvedores. Adicione limitação de taxa dinâmica, autenticação e muito mais a qualquer API em minutos. Saiba mais em zuplo.com

Agradecemos ao Mintlify por hospedar a documentação em Express-Rate-Limit.mintlify.app
Finalmente, obrigado a todos que contribuíram para este projeto de qualquer maneira! ?
Se você encontrar um bug ou quiser ver algo adicionado/alterado, vá em frente e abra um problema! Se você precisar de ajuda com algo, fique à vontade para iniciar uma discussão!
Se você deseja contribuir com a biblioteca, obrigado! Primeiro, leia o guia contribuinte. Então você pode pegar qualquer problema e corrigi -lo/implementá -lo!
MIT © Nathan Friedly, Vedant K