Browse Source

Replaced Express-Brute store from Mongo to Mongoose

pull/2/head
NGPixel 8 years ago
parent
commit
2cf8f2c247
4 changed files with 23 additions and 8 deletions
  1. 1
      .travis.yml
  2. 8
      controllers/auth.js
  3. 20
      models/bruteforce.js
  4. 2
      package.json

1
.travis.yml

@ -12,7 +12,6 @@ env:
global:
- CXX=g++-4.8
- secure: VCgscCCKhvHu0tW8e3jo6wydckE6jDkEfC2Zd5aSZytYAex05qahU45cmksqMIT1uBCcC4CKRK4caoKac/+818EyKBTV+vAL74cMMc8NeLNVY2m50+ohu8GYu+ByIffttK7cnXN7xIzyuK4csI7qz84jxLW0KYgYQ+6SPbUG3Hy6gr0P0CztNmAFfyhTam4OKSIiXyvQZW0fZoSruOpUYS5pxvCBi4AxpRY8+6IxCL8xYqF49P0l28nn0C/NYUklwag6l4JF32PrcLAU5S+NIXXgJX499cZO4C2m2GljJeolbvGue3ZEtadv5NkmQuFQ1WGb5aURHPkll0hXsWKxT0bH9P1a4Gt1h/J885acWG4U6QZA1Zds/Z4ymNeLA0MzzoAaDK1q8sRglhDJnZYb4Zm5jy7ZA3vFwb+zcGaOT//pCVpcsZINRnd0Qu9LC5NKPrfmyFAAMAXDdo78BEnwryUviWP5976JZmQAfDIWvmGGTs5i1yjiTRi+NVgH0YpfxtI9MTEJo++r5/zNH/jewxj1D8esaamphp6mQvxvpl388veQDw3REUZQ49muzrdK2YYmVRkzLfH2uMsHInN3WqEl3/mTpH76u0nlxMF6HlrVdgB2UNPjlXbSooWXLfdAw98NpCZ7BAFcCcT8Oa9cYw+40rJrdfem5J2EimG5ltw=
- secure: msnBRkjis9v8Orlkubhla/HaniYPYsPgCzFIsS/BJW9HiiUdYm89M2YbNcJvo0s0otG/ta8r+oPzbd2jW7gndW8iUTrgwtMzBPSm674qXMAocRQKCHZa8BZGFMML5CYErUZm6ZDN9SIXq+s//igKnU+QLQmYUhsIeOFS+tIidGCwExu0ppXqUViuWVZpK37c/6/9SxRB0RMUwOaBiRwAThb8VM+ZfnYxxwMSfWT01zySWw2QAVKKLubeuXuOI8ci6OY+FcxcS0HB6XFaUH5YFrTw6KLqF/gxx2HgS5LI+6hn5ko5KQu2V5+ZS4VFRkwnjzSxNIdtEZnqd0qj+qVnEO7R1GnluKfqgTSb2GuzKhaIjUO+dB0gVqwY31wfNAwjCLNMY98ZMv9nJbv9l5iTJqMjCLPvdAmUuFJBCXoX98jDMiSfN3z+4VFVJapt70BENzP51gtj2qf3zsLfYhTQxwozuZvxt/koP1+HfdJhskBG734qioc49VO5Sqsj8OwkbVyl55mHCkkAXFyxAbO8eoSmK9ZhhZ7AbypCYVvmsMbjDRlmHCxXiG9DpVWiajeYKBeK+KEzQ2nKDrz5POHHY7PHXaZsNDMoIuigPdOr2AUVPMjsr74KJL49HowR+UF0zq4PDKHxp9wXlt50JPhfsvm7m//8/1XefVpJWUco0vM=
- secure: afxMIIz9YeKKBc0WdafTrQorzsIZSEM8wqUB3ffrC41s+FEXl4VGIl8ZxKWZ/k2W+y7qCWSVfS4vMHv6CYy++Xq87NUczWPqFq99QXNHYpXWD0JK3clLY1DADuRDYeVA/kGkjH3MAAVd5s4I8TK7cmLwZDiwT7ybiYGLnAeQPR5IK1p/WwULEE+UTvSXudKfQIpi8K/EjbjLcB+EcDFPngAvX0LW6qXn0E+Z9NG6aru7/QhCTkHTYIc6k6r/bzWKhRAp+XaA184GxsyxNvIWTiBpeVK8XwDORkotobvgvDoz8uQHMjldtNFg5BL386WjNSh0Ljg242GQVTpbh0ju9F4XC7GN11tRDHwOBbSLa+X/sBomyONgBAve6roqtiQgZ3T92SycyjW06vhG7akC+yAKnAKVL+JdWWvg4qPhppKRAa57/5Se9GlAthSXvhfGvkaKtA4IUq9Jr7FksF4f+tCkSfNeJBYnlV+c/oBY7ZZ9gMUslXuDtv8Dbgp2aa4ELeA9R0U+5Ac42JzzbfojwOaLpEvFYs2cdZybOPlUq/EO/rx2Oxi9Xk2oPL4UW9xV5ZlwYmCw/rXpzSWo4dl4i0tEPN+5ZPtgQGz5pIBeI0LGGvEhCya/Tg+Xc9Bd7/0Ox7cLgNk0vrTEVjW+Z/b3XMhVwVlwmTuVM5wylzaZRcc=
cache:
directories:

8
controllers/auth.js

@ -2,17 +2,13 @@ var express = require('express');
var router = express.Router();
var passport = require('passport');
var ExpressBrute = require('express-brute');
var ExpressBruteMongoStore = require('express-brute-mongo');
var ExpressBruteMongooseStore = require('express-brute-mongoose');
var moment = require('moment');
/**
* Setup Express-Brute
*/
var EBstore = new ExpressBruteMongoStore((ready) => {
db.onReady.then(() => {
ready(db.connection.collection('bruteforce-store'));
});
});
var EBstore = new ExpressBruteMongooseStore(db.Bruteforce);
var bruteforce = new ExpressBrute(EBstore, {
freeRetries: 5,
minWait: 60 * 1000,

20
models/bruteforce.js

@ -0,0 +1,20 @@
"use strict";
const modb = require('mongoose');
/**
* BruteForce schema
*
* @type {<Mongoose.Schema>}
*/
var bruteForceSchema = modb.Schema({
_id: { type: String, index: 1 },
data: {
count: Number,
lastRequest: Date,
firstRequest: Date
},
expires: { type: Date, index: { expires: '1d' } }
});
module.exports = modb.model('Bruteforce', bruteForceSchema);

2
package.json

@ -46,7 +46,7 @@
"cron": "^1.1.1",
"express": "^4.14.0",
"express-brute": "^1.0.0",
"express-brute-mongo": "^0.1.0",
"express-brute-mongoose": "0.0.6",
"express-session": "^1.14.1",
"farmhash": "^1.2.1",
"file-type": "^3.8.0",

Loading…
Cancel
Save