Replaced Express-Brute store from Mongo to Mongoose
This commit is contained in:
		| @@ -12,7 +12,6 @@ env: | |||||||
|   global: |   global: | ||||||
|   - CXX=g++-4.8 |   - 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: 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= |   - 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: | cache: | ||||||
|   directories: |   directories: | ||||||
|   | |||||||
| @@ -2,17 +2,13 @@ var express = require('express'); | |||||||
| var router = express.Router(); | var router = express.Router(); | ||||||
| var passport = require('passport'); | var passport = require('passport'); | ||||||
| var ExpressBrute = require('express-brute'); | var ExpressBrute = require('express-brute'); | ||||||
| var ExpressBruteMongoStore = require('express-brute-mongo'); | var ExpressBruteMongooseStore = require('express-brute-mongoose'); | ||||||
| var moment = require('moment'); | var moment = require('moment'); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Setup Express-Brute |  * Setup Express-Brute | ||||||
|  */ |  */ | ||||||
| var EBstore = new ExpressBruteMongoStore((ready) => { | var EBstore = new ExpressBruteMongooseStore(db.Bruteforce); | ||||||
| 	db.onReady.then(() => { |  | ||||||
| 		ready(db.connection.collection('bruteforce-store')); |  | ||||||
| 	}); |  | ||||||
| }); |  | ||||||
| var bruteforce = new ExpressBrute(EBstore, { | var bruteforce = new ExpressBrute(EBstore, { | ||||||
| 	freeRetries: 5, | 	freeRetries: 5, | ||||||
| 	minWait: 60 * 1000, | 	minWait: 60 * 1000, | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								models/bruteforce.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								models/bruteforce.js
									
									
									
									
									
										Normal file
									
								
							| @@ -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); | ||||||
| @@ -46,7 +46,7 @@ | |||||||
|     "cron": "^1.1.1", |     "cron": "^1.1.1", | ||||||
|     "express": "^4.14.0", |     "express": "^4.14.0", | ||||||
|     "express-brute": "^1.0.0", |     "express-brute": "^1.0.0", | ||||||
|     "express-brute-mongo": "^0.1.0", |     "express-brute-mongoose": "0.0.6", | ||||||
|     "express-session": "^1.14.1", |     "express-session": "^1.14.1", | ||||||
|     "farmhash": "^1.2.1", |     "farmhash": "^1.2.1", | ||||||
|     "file-type": "^3.8.0", |     "file-type": "^3.8.0", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user