IPv6 地址过滤行为异常
IPv6 Address filtering behaving unusually
我正在使用节点 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);
}
但是,我看到 ::ffff:25.0.31.1
的 IP 地址被正确排除,而 ::ffff:25.0.1.1
从来没有。
在我看来 ::ffff:25.0.1.1
应该被上面的 CIDR 排除并且在单元测试中。
而且我注意到在生产中,
非常抱歉,伙计们,我还从第二个环境发布到速率限制器,这意味着这是误报。模组欢迎删除,否则我会尽快
我正在使用节点 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);
}
但是,我看到 ::ffff:25.0.31.1
的 IP 地址被正确排除,而 ::ffff:25.0.1.1
从来没有。
在我看来 ::ffff:25.0.1.1
应该被上面的 CIDR 排除并且在单元测试中。
而且我注意到在生产中,
非常抱歉,伙计们,我还从第二个环境发布到速率限制器,这意味着这是误报。模组欢迎删除,否则我会尽快