✨ Обновлена обработка IPv6 адресов в функции получения IP-адреса клиента
- Добавлена поддержка IPv4-mapped IPv6 адресов, позволяющая корректно извлекать IPv4 адреса из формата ::ffff:192.168.1.1. - Оптимизирована логика обработки IPv6 адресов для улучшения точности получения клиентского IP.
This commit is contained in:
parent
ee86fa303f
commit
323f96a502
@ -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];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user