Я использую 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 выше и находится в модульных тестах.
И я замечаю, что на производстве