我最近写了一篇关于使用第三方 Java 库通过 ColdFusion 标准化 IPv4 和 IPv6 IP 地址的博客文章。
Apache Commons Java 库(内置于 ColdFusion 中)以前是我们用来确定 IPv4 地址是否在 CIDR 范围内的解决方案...但那时我们所有与 IP 相关的数据都是严格的 IPv4。 现在我们正在利用云 WAF 提供商为我们提供真正的远程 IP 地址(有些是 IPv6),我们需要在记录或应用访问规则时考虑这一点,这样我们就不会盲目地记录网关的 IP 地址。 (注意:我们现在正在迁移到第三个 WAF/CDN 提供商,作为我们与声明的第 11 章 SMH 合作的前两家公司)
有关更多信息,Ben Nadal 在 2018 年发表了一篇文章,题为“使用 ColdFusion 和 SubnetUtils 检查 IP v4 地址是否在 CIDR 范围内”。
如果您想测试 IPv6 IP 是否在 IPv6 CIDR 范围内,则无法使用 ColdFusion 本地完成(据我所知),并且需要使用第三方,例如 jgonian commons ip math java 库。
有关更多信息,Ben Nadal 在 2018 年发表了一篇文章,题为“使用 Commons IP Math 检查 IP 地址是否存在于 ColdFusion 中的 IPv4 或 IPv6 CIDR 范围中”。
我开始使用seancfoley IPAddress Java 库是因为:
- 它验证 IPv4/IPv6 IP 地址
- 它将 IP 字符串转换为二进制对象(用于数据库存储和更好的索引查询)
- 它将二进制对象转换为 IP 字符串
- 它规范化 IPv6 字符串(因为 IPv6 语法可以采用不同的缩写格式)
- 它测试 IPv4/IPv6 地址是否在 CIDR 范围内
- Akamai、亚马逊、Atlassian、ATT、思科、花旗银行、康卡斯特、迪士尼、Evernote、Fortinet、谷歌、Hulu、IBM、ICANN、微软、MongoDB、Netflix、NIST、Oracle、Spotify...等都在使用它...包括我的 ColdFusion 应用程序!
我们仅执行上述功能(到目前为止),但该库支持许多功能,并有大量 Java 代码示例演示转换、子网划分、匹配/比较和创建/解析功能。
这是一个 CFML 概念验证代码,它将接受 CIDR 范围并识别 IPv4 还是 IPv6 地址是否在该范围内。享受吧!
源代码https://gist.github.com/JamoCA/6cee1fae80e25a83be13a840621d1b9d
.js">
以上就是测试 IP 是否在 CIDR 范围内的详细内容,更多请关注图灵教育其它相关文章!