From 917bd1933abde87de5de206cc6277573b4727490 Mon Sep 17 00:00:00 2001 From: codehdn Date: Sun, 28 Apr 2024 20:18:52 -0500 Subject: [PATCH 1/2] fix: log out requestors ip on api call --- src/server/api/v1/v1Router.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/api/v1/v1Router.js b/src/server/api/v1/v1Router.js index 5a3d36887..48f496c1f 100644 --- a/src/server/api/v1/v1Router.js +++ b/src/server/api/v1/v1Router.js @@ -6,8 +6,13 @@ const logger = require("../../../backend/logwrapper"); router.use(function log(req, res, next) { // here we could do stuff for every request if we wanted + const clientIp = req.socket.remoteAddress; + // check for proper ipv4 address (possible for ipv4 address in ipv6 format) + const matches = clientIp.match(/(\d+\.\d+\.\d+\.\d+)/); + // if we find a match it is ipv4 if not fall back to given client ip which is most likely ipv6 + const ip = matches ? matches[0] : clientIp; logger.info( - `API Request from: ${req.headers.host}, for path: ${req.originalUrl}` + `API Request from: ${ip}, for path: ${req.originalUrl}` ); next(); }); From 7132492e819bda3d41a15b16a557ab996eb4500b Mon Sep 17 00:00:00 2001 From: codehdn Date: Mon, 29 Apr 2024 00:26:38 -0500 Subject: [PATCH 2/2] fix: pr feedback, just serve raw request ip even if its ipv4 shoved into ipv6 format. --- src/server/api/v1/v1Router.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/server/api/v1/v1Router.js b/src/server/api/v1/v1Router.js index 48f496c1f..72c749670 100644 --- a/src/server/api/v1/v1Router.js +++ b/src/server/api/v1/v1Router.js @@ -6,13 +6,8 @@ const logger = require("../../../backend/logwrapper"); router.use(function log(req, res, next) { // here we could do stuff for every request if we wanted - const clientIp = req.socket.remoteAddress; - // check for proper ipv4 address (possible for ipv4 address in ipv6 format) - const matches = clientIp.match(/(\d+\.\d+\.\d+\.\d+)/); - // if we find a match it is ipv4 if not fall back to given client ip which is most likely ipv6 - const ip = matches ? matches[0] : clientIp; logger.info( - `API Request from: ${ip}, for path: ${req.originalUrl}` + `API Request from: ${req.socket.remoteAddress}, for path: ${req.originalUrl}` ); next(); });