Commit c93b1cc3 authored by 郑磊's avatar 郑磊

增加代理ip解析

parent 88445649
......@@ -36,17 +36,7 @@ public class CaptchaController {
@RequestBody(required = false) GenerateCaptchaData data
) {
var type = getRandomType();
var ip = request.getRemoteAddr();
var proxyIp = request.getHeader("x-forwarded-for");
if (proxyIp != null && !proxyIp.isEmpty()) {
ip = proxyIp.split(",")[0].trim();
} else {
proxyIp = request.getHeader("x-real-ip");
if (proxyIp != null && !proxyIp.isEmpty()) {
ip = proxyIp;
}
}
var ip = getIpFromRequest(request);
Map<String, Object> extra = null;
if (data != null) {
......@@ -94,7 +84,7 @@ public class CaptchaController {
HttpServletRequest request,
@RequestBody CheckCaptchaData data
) {
String ip = request.getRemoteAddr();
String ip = getIpFromRequest(request);
//校验验证码
var result = imageCaptchaApplication.matching(
data.getKey(),
......@@ -155,4 +145,17 @@ public class CaptchaController {
return Response.success(info);
}
}
protected static String getIpFromRequest(HttpServletRequest request) {
var proxyIp = request.getHeader("x-forwarded-for");
if (proxyIp != null && !proxyIp.isEmpty()) {
return proxyIp.split(",")[0].trim();
}
proxyIp = request.getHeader("x-real-ip");
if (proxyIp != null && !proxyIp.isEmpty()) {
return proxyIp;
}
return request.getRemoteAddr();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment