Fix getClientIP

Co-authored-by: Mateusz Hajder <6783135+mhajder@users.noreply.github.com>
This commit is contained in:
Louis Lam 2022-08-01 15:42:58 +08:00
parent 6e29feffd3
commit fb3fe17c28
1 changed files with 7 additions and 3 deletions

View File

@ -131,14 +131,18 @@ class UptimeKumaServer {
}
async getClientIP(socket) {
const clientIP = socket.client.conn.remoteAddress.replace(/^.*:/, "");
let clientIP = socket.client.conn.remoteAddress;
if (clientIP === undefined) {
clientIP = "";
}
if (await Settings.get("trustProxy")) {
return socket.client.conn.request.headers["x-forwarded-for"]
|| socket.client.conn.request.headers["x-real-ip"]
|| clientIP;
|| clientIP.replace(/^.*:/, "");
} else {
return clientIP;
return clientIP.replace(/^.*:/, "");
}
}
}