Обновлена обработка IPv6 адресов в функции получения IP-адреса клиента

- Добавлена поддержка IPv4-mapped IPv6 адресов, позволяющая корректно извлекать IPv4 адреса из формата ::ffff:192.168.1.1.
- Оптимизирована логика обработки IPv6 адресов для улучшения точности получения клиентского IP.
This commit is contained in:
Fovway 2025-10-26 07:13:26 +07:00
parent ee86fa303f
commit 323f96a502

View File

@ -327,7 +327,10 @@ function getClientIP(req) {
ip = ip.replace(/[[\]]/g, "");
// Обрабатываем IPv6 адреса
if (ip.includes("::")) {
if (ip.startsWith("::ffff:")) {
// IPv4-mapped IPv6 address (::ffff:192.168.1.1)
ip = ip.substring(7); // Убираем "::ffff:"
} else if (ip.includes("::")) {
const ipv6Match = ip.match(/^(\[)?([^\]]+)(\])?(:(\d+))?$/);
if (ipv6Match) {
ip = ipv6Match[2];