#node.js #express
#node.js #экспресс
Вопрос:
Мое понимание промежуточного программного обеспечения express всегда заключалось в том, что оно срабатывает каждый раз, когда мы помещаем его в экспресс-маршрутизатор. Я просматривал документацию пакета npm express-bouncer и увидел это:
bouncer.blocked = function (req, res, next, remaining)
{
res.send (429, "Too many requests have been made, "
"please wait " remaining / 1000 " seconds");
};
// Route we wish to protect with bouncer middleware
app.post ("/login", bouncer.block, function (req, res)
{
if (LoginFailed)
{
// Login failed
}
else
{
bouncer.reset (req);
// Login succeeded
}
});
Что res.send
мешает запуску каждый раз, а не только при атаке грубой силы?
Ответ №1:
Я думаю, вы просто пропустили код, определенная вами функция заблокирована, а промежуточное программное обеспечение заблокировано. Вы можете видеть в исходном коде, который block
содержит реализацию для выполнения подсчета, и она вызывается только blocked
при достижении ограничения.