From 668241bbbc5150f8d4f573be9a1b4c17c1d017b6 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 24 Nov 2014 17:29:02 -0500 Subject: cache x-forwarded-for ip address on session object --- server/lib/middleware.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'server/lib/middleware.js') diff --git a/server/lib/middleware.js b/server/lib/middleware.js index 7b37658..ad0d228 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -33,6 +33,15 @@ var middleware = { } next(); }, + + ensureIP: function (req, res, next) { + if (req.ips) { + req.ip = req.session.ip = req.ips[0] + } + else { + req.ip = req.session.ip || "127.0.0.1" + } + }, ensureLocals: function (req, res, next) { res.locals.token = req.csrfToken(); -- cgit v1.2.3-70-g09d2 From 0965d0011f1858adae736cfd4df8e88cf1e24893 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 24 Nov 2014 17:30:56 -0500 Subject: z --- server/lib/auth/index.js | 10 +++++----- server/lib/middleware.js | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'server/lib/middleware.js') diff --git a/server/lib/auth/index.js b/server/lib/auth/index.js index 79f1e34..0c46105 100644 --- a/server/lib/auth/index.js +++ b/server/lib/auth/index.js @@ -86,9 +86,9 @@ var auth = { return res.redirect('/auth/usernameTaken'); } if (! user.created_ip) { - user.created_ip = util.ip2num( req.ips[0] ) + user.created_ip = util.ip2num( req.ip ) } - user.last_ip = util.ip2num( req.ips[0] ) + user.last_ip = util.ip2num( req.ip ) user.save(function(err, data){ if (err) console.err('error setting ip for user') }) req.logIn(user, function(err) { @@ -111,7 +111,7 @@ var auth = { } user.last_seen = new Date () - user.last_ip = util.ip2num( req.ips[0] ) + user.last_ip = util.ip2num( req.ip ) user.save(function(err, data){ if (err) console.err('error setting ip for user') }) req.logIn(user, function(err) { @@ -171,8 +171,8 @@ var auth = { displayName: username, password: password, email: email, - created_ip: util.ip2num( req.ips[0] ), - last_ip: util.ip2num( req.ips[0] ), + created_ip: util.ip2num( req.ip ), + last_ip: util.ip2num( req.ip ), created_at: new Date (), last_seen: new Date (), } diff --git a/server/lib/middleware.js b/server/lib/middleware.js index ad0d228..2d24693 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -38,9 +38,10 @@ var middleware = { if (req.ips) { req.ip = req.session.ip = req.ips[0] } - else { + else if (req.session.ip) { req.ip = req.session.ip || "127.0.0.1" } + next() }, ensureLocals: function (req, res, next) { -- cgit v1.2.3-70-g09d2 From 58e1ca092e01da7b13e133a0ea50c9767bd48744 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 24 Nov 2014 17:35:21 -0500 Subject: session.save --- server/lib/middleware.js | 1 + 1 file changed, 1 insertion(+) (limited to 'server/lib/middleware.js') diff --git a/server/lib/middleware.js b/server/lib/middleware.js index 2d24693..173701d 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -37,6 +37,7 @@ var middleware = { ensureIP: function (req, res, next) { if (req.ips) { req.ip = req.session.ip = req.ips[0] + req.session.save() } else if (req.session.ip) { req.ip = req.session.ip || "127.0.0.1" -- cgit v1.2.3-70-g09d2 From c9325286ba7fcb38166deff8937105789edfb1d2 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 24 Nov 2014 17:40:53 -0500 Subject: need to store ip on the session due to haproxy --- server/lib/auth/index.js | 10 +++++----- server/lib/middleware.js | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'server/lib/middleware.js') diff --git a/server/lib/auth/index.js b/server/lib/auth/index.js index 0c46105..a9a2400 100644 --- a/server/lib/auth/index.js +++ b/server/lib/auth/index.js @@ -86,9 +86,9 @@ var auth = { return res.redirect('/auth/usernameTaken'); } if (! user.created_ip) { - user.created_ip = util.ip2num( req.ip ) + user.created_ip = util.ip2num( req.session.ip ) } - user.last_ip = util.ip2num( req.ip ) + user.last_ip = util.ip2num( req.session.ip ) user.save(function(err, data){ if (err) console.err('error setting ip for user') }) req.logIn(user, function(err) { @@ -111,7 +111,7 @@ var auth = { } user.last_seen = new Date () - user.last_ip = util.ip2num( req.ip ) + user.last_ip = util.ip2num( req.session.ip ) user.save(function(err, data){ if (err) console.err('error setting ip for user') }) req.logIn(user, function(err) { @@ -171,8 +171,8 @@ var auth = { displayName: username, password: password, email: email, - created_ip: util.ip2num( req.ip ), - last_ip: util.ip2num( req.ip ), + created_ip: util.ip2num( req.session.ip ), + last_ip: util.ip2num( req.session.ip ), created_at: new Date (), last_seen: new Date (), } diff --git a/server/lib/middleware.js b/server/lib/middleware.js index 173701d..4848ab0 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -35,13 +35,13 @@ var middleware = { }, ensureIP: function (req, res, next) { - if (req.ips) { + if (req.session.ip) { + req.ip = req.session.ip || "127.0.0.1" + } + else if (req.ips) { req.ip = req.session.ip = req.ips[0] req.session.save() } - else if (req.session.ip) { - req.ip = req.session.ip || "127.0.0.1" - } next() }, -- cgit v1.2.3-70-g09d2