Skip to content

Commit dd48678

Browse files
cyberkaidaCopilot
andauthored
Update src/main/java/reva/server/ApiKeyAuthFilter.java
Co-authored-by: Copilot <[email protected]>
1 parent 5dba90d commit dd48678

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/main/java/reva/server/ApiKeyAuthFilter.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,19 @@ private void sendUnauthorizedResponse(HttpServletResponse response, String messa
136136
* @return A string with client IP and user agent
137137
*/
138138
private String getClientInfo(HttpServletRequest request) {
139-
String clientIP = request.getRemoteAddr();
139+
String clientIP = null;
140+
String xForwardedFor = request.getHeader("X-Forwarded-For");
141+
if (xForwardedFor != null && !xForwardedFor.isEmpty()) {
142+
// X-Forwarded-For can contain multiple IPs, the first is the original client
143+
clientIP = xForwardedFor.split(",")[0].trim();
144+
} else {
145+
String xRealIp = request.getHeader("X-Real-IP");
146+
if (xRealIp != null && !xRealIp.isEmpty()) {
147+
clientIP = xRealIp;
148+
} else {
149+
clientIP = request.getRemoteAddr();
150+
}
151+
}
140152
String userAgent = request.getHeader("User-Agent");
141153
return clientIP + (userAgent != null ? " (" + userAgent + ")" : "");
142154
}

0 commit comments

Comments
 (0)