IPv6-фильтрация адресов ведет себя необычно - PullRequest
0 голосов
/ 09 апреля 2020

Я использую node js и, в частности, этот пакет cidr-matcher в сочетании с ограничителем скорости, чтобы исключить ограничение определенных IP-адресов.

В частности, один CIDR Выражение для исключения:

::ffff:25.0.0.0/112

Грубый набросок кода для принятия решения об исключении:

  import Matcher from "cidr-matcher";
  ...

  public shouldRateLimitIp(ipAddress: IpAddress): boolean {
    const excludedIpsMatcher = new Matcher(["::ffff:25.0.0.0/112"]);
    return !excludedIpsMatcher.contains(ipAddress);
  }

Однако я вижу, что IP-адреса, например, ::ffff:25.0.31.1 являются правильными исключено, где ::ffff:25.0.1.1 никогда не бывает.

На мой взгляд, ::ffff:25.0.1.1 должен быть исключен CIDR выше и находится в модульных тестах.

И я замечаю, что на производстве

1 Ответ

0 голосов
/ 14 апреля 2020

Очень жаль, ребята, это я также отправлял в ограничитель скорости из второй среды, что означало, что это был ложный положительный результат. Модов добро пожаловать на удаление, иначе мне скоро будет достаточно.

...