From 1c5ae2f16806d1be3e771831e5a03e27b05ba778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E8=BE=9E=E6=9C=AA=E5=AF=92?= <545073804@qq.com> Date: Sat, 26 Apr 2025 00:20:34 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=9C=B0=E5=9D=80=E6=94=AF=E6=8C=81IPv6=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/core/utils/ip/AddressUtils.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/AddressUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/AddressUtils.java index 2878078f1..104734465 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/AddressUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/AddressUtils.java @@ -22,14 +22,21 @@ public class AddressUtils { public static String getRealAddressByIP(String ip) { // 处理空串并过滤HTML标签 ip = HtmlUtil.cleanHtmlTag(StringUtils.blankToDefault(ip,"")); + boolean isIPv6 = NetUtils.isIPv6(ip); // 判断是否为IPv4或IPv6,如果不是则返回未知地址 - if (!NetUtils.isIPv4(ip) && !NetUtils.isIPv6(ip)) { + if (!NetUtils.isIPv4(ip) && !isIPv6) { return UNKNOWN; } // 内网不查询 if (NetUtils.isInnerIPv6(ip) || NetUtils.isInnerIP(ip)) { return "内网IP"; } + // 不支持IPv6,不再进行没有必要的IP地址信息的解析,直接返回 + if (isIPv6) { + log.warn("ip2region不支持IPV6地址解析:{}", ip); + // 如有需要,可自行实现IPv6地址信息解析逻辑,并在这里返回 + return "未知"; + } return RegionUtils.getCityInfo(ip); }