Javascript Express brute无法将错误消息发送到页面
为了在我的NodeJS/Express应用程序中对抗暴力预防,我决定在路由文件中使用这个包。我使用该软件包来防止用户随机猜测某个代码,而不是输入给定的唯一代码 我使用Javascript Express brute无法将错误消息发送到页面,javascript,node.js,express,Javascript,Node.js,Express,为了在我的NodeJS/Express应用程序中对抗暴力预防,我决定在路由文件中使用这个包。我使用该软件包来防止用户随机猜测某个代码,而不是输入给定的唯一代码 我使用express brute mongostore(使用MongoDB)设置速率限制器对象,如下所示: // setup the brute force prevention system var expressBrute = require('express-brute'); var mongoStore = require('ex
express brute mongo
store(使用MongoDB)设置速率限制器对象,如下所示:
// setup the brute force prevention system
var expressBrute = require('express-brute');
var mongoStore = require('express-brute-mongo');
var mongoClient = require('mongodb').MongoClient;
var store = new mongoStore(function(ready) {
mongoClient.connect("mongodb://localhost/app", function(err, db) {
if (err) {
console.log(err);
} else {
ready(db.collection('bruteforce-store'));
}
});
});
var bruteforce = new expressBrute(store, {
freeRetries: 2, // only allow 2 incorrect requests
minWait: 5 * 1000, // min wait time of 5 seconds
maxWait: 5 * 60 * 1000, // max wait time of 5 minutes
// use default callback function if all retries are used
failCallback: expressBrute.FailTooManyRequests
});
failCallback
属性意味着在发出太多请求时调用,我将其设置为express brute
的默认回调之一,它应该发送一条JSON错误消息作为响应。但是,虽然预防系统确实起作用(我无法再尝试重试),但此错误消息永远不会发送
非常奇怪的是,回调是运行的,就像我用
failCallback: function(req,resp,next,nextdate) {
console.log("too many requests");
resp.json({ message: 'too many requests' });
}
我确实在控制台中收到消息“请求太多”,而JSON命令似乎被忽略了。我甚至尝试过在回调中发出GET请求,如果发出的请求太多,则重定向到另一个页面,但除了输出到控制台之外,仍然没有发生任何事情。这使得我无法向用户提供任何关于他们被网站锁定的消息。我不明白为什么在使用
express brute
时我根本无法更改网页。有没有办法从回调中更改网页 给我看你的全部代码??给我看你的全部代码??