A limitação de taxa é uma estratégia que você pode usar para controlar o tráfego em uma rede. Ele limita o número de solicitações que um usuário pode fazer dentro de um período de tempo específico.
Existem vários algoritmos de limitação de taxa, cada um com suas próprias compensações. Um método simples e popular é rastrear os endereços IP das solicitações e verificar quanto tempo decorre entre as solicitações. O sistema pode então negar uma solicitação se seu endereço IP exceder o número de solicitações permitidas pelo limite.
MAKEUSEO VÍDEO DO DIA
Essa abordagem de limitação de taxa é fácil de construir em um aplicativo NodeJS-Express, com apenas algumas etapas.
Etapa 1: configurando um ambiente de desenvolvimento
Primeiro, você precisará criar e inicializar um aplicativo Express.
barra inferior não funciona windows 10
Comece criando um diretório de projeto executando:
mkdir express-app
Em seguida, entre nesse diretório executando:
cd express-app
A seguir, inicialize npm, o gerenciador de pacotes do nó, e criar um pacote.json arquivo em seu aplicativo executando:
npm init -y
o -Y bandeira irá criar o seu pacote.json arquivo com todas as configurações padrão.
Em seguida, você precisará instalar algumas dependências. As dependências necessárias para este tutorial são:
- ExpressJS: ExpressJS é um framework NodeJS que fornece um conjunto robusto de recursos para aplicativos da Web e móveis. Ele simplifica o processo de construção de aplicativos de back-end com NodeJS.
- Limite de taxa expresso : Express rate limit é um middleware de limitação de taxa para ExpressJS. Limita solicitações repetidas a APIs e/ou endpoints públicos, como redefinições de senha, logins de usuários, etc.
Instale as dependências necessárias executando:
npm install express express-rate-limit
Etapa 2: criando um aplicativo expresso
Você precisará criar um servidor Express básico que escute as solicitações feitas ao seu aplicativo.
como mover programas instalados para outra unidade
Primeiro, crie um index.js arquivo no diretório raiz do seu projeto. Este será o arquivo de entrada para seu aplicativo.
Em seguida, adicione o seguinte código ao seu index.js Arquivo:
// index.js
const express = require("express");
const app = express();
const port = process.env.PORT || 3000
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
Este código importa expressar e cria um aplicativo Express chamando express() e armazenando seu valor de retorno no aplicativo variável. Em seguida, ele escuta o tráfego na porta 3000 chamando o ouço método no aplicativo objeto.
Etapa 3: criando manipuladores de rota
Em seguida, crie alguns manipuladores de rota nos quais você possa implementar a solução de limitação de taxa.
Primeiro, crie uma pasta, routes, no diretório raiz do seu projeto executando:
mkdir routes
Crie um arquivo, route.js , dentro de sua pasta de rotas e adicione o seguinte código:
const express = require("express");
const router = express.Router();
router.get("/", (req, res) => {
res.send({ message: "Hello, this is a GET request" });
});
router.post("/add-demo", (req, res) => {
res.status(201).send({ message: "Resource created successfully" });
});
router.put("/update-demo", (req, res) => {
res.status(201).send({ message: "Resource updated sucessfully" });
});
module.exports = router;
Este código importa expressar , chama o Roteador método em expressar , e armazena o valor em uma variável, roteador . o Roteador permite criar manipuladores de rotas modulares e montáveis. Você pode criar manipuladores de rota para um PEGUE pedir para “ / ', uma PUBLICAR pedir para “ /add-demo ”, e um COLOCAR pedir para “ /update-demo ”. Por fim, exporte o roteador variável.
A seguir, importe o roteador variável em seu index.js Arquivo:
// index.js
const routes = require("./routes/routes");
Em seguida, use-o como um middleware em seu arquivo index.js:
// index.js
app.use(routes);