在开发 Web 应用程序时,我需要担心 IPV6 地址吗?

Pra*_*age 1 asp.net ipv4 ipv6

我正在使用 ASP.NET 开发网站。我想为我的用户实现登录身份验证。如果用户经常输入错误的密码,我想实现密码验证延迟。

所以我有字段来存储 IPV4 地址来识别用户的 IP。目前我使用 unsigned int 字段来存储 IPV4 地址。

所以我的问题是 IPV6 地址呢?我需要担心 IPV6 地址吗?目前我没有数据字段来存储 IPV6 地址。

我是否需要修改我的 Web 应用程序以识别 IPV4 和 IPV6 地址?

IPV6 是否实际使用?

San*_*ann 5

是的,您需要能够处理 IPv6 地址。越来越多的 ISP 已经提供 IPv6 连接(比利时 30% 的地区使用 IPv6,美国的某些移动提供商使用 IPv6 的比例超过 50%,等等)。对于您今天构建的任何网站来说,您的用户将能够通过 IPv6 进行连接几乎是肯定的。

如何存储地址是一个不同的问题。某些数据库(例如 PostgreSQL)具有用于存储 IPv4/v6 地址的特殊字段类型。如果可能的话,使用那些。除非您对 128 位整数有本机支持,否则将它们存储为整数并不是很实用。将它们存储为文本是可能的。IPv6 地址应按照RFC 5952的规则编写。大多数提供 IPv6 地址文本表示的库函数应该按照这些规则输出,因此您不需要自己实现任何东西。

还请记住,使用 IPv6 时,用户有许多可用的 IPv6 地址。对于 IPv4,他们通常使用 NAT,整个网络将显示为单个地址。使用 IPv6,每台设备都有一个或多个全局地址。单个 LAN 通常是一个/64(前 64 位保持不变,最后 64 位可以由设备使用),因此您可能需要在确定速率限制时考虑到这一点。