Networking 从IPv4到IPv6的变化:它对web开发有什么影响?

Networking 从IPv4到IPv6的变化:它对web开发有什么影响?,networking,ipv6,ipv4,Networking,Ipv6,Ipv4,网络开发者是否需要关注IPv4的终结? 或者这只是一个托管级别的问题 普通的PHP/JavaScript/Ajax等开发人员可以做些什么来减轻转换的影响 讨论 (如果这是在我道歉之前出现的,但我的搜索没有显示任何信息)在服务器端,请确保您没有对远程IP地址的格式进行假设-像将海报的IP地址打包到单个32位数据库字段这样的黑客做法是个坏主意。如果您正在为BAN或其他内容使用子网掩码,则也需要进行更改。此外,在验证IP地址字段时,不要忘记将这两种格式(152.115.4.70和2001:db8:1f

网络开发者是否需要关注IPv4的终结? 或者这只是一个托管级别的问题

普通的PHP/JavaScript/Ajax等开发人员可以做些什么来减轻转换的影响

讨论


(如果这是在我道歉之前出现的,但我的搜索没有显示任何信息)

在服务器端,请确保您没有对远程IP地址的格式进行假设-像将海报的IP地址打包到单个32位数据库字段这样的黑客做法是个坏主意。如果您正在为BAN或其他内容使用子网掩码,则也需要进行更改。

此外,在验证IP地址字段时,不要忘记将这两种格式(152.115.4.70和2001:db8:1f70::999:de8:7648:6e8)都考虑在内。

实际上,我怀疑IPv4是否会结束。只是我的意见。Networking应用程序必须编写为与IPv4/6兼容。一些API使这变得异常简单。

处理IP地址的任何地方都需要进行审核,以检查它是否干净。简单的webapps可能不会麻烦地存储任何IP地址,但许多应用程序会为了跟踪/控制滥用而进行存储。IPv6地址比ipv4地址大,文本表示使用不同的符号

在某些情况下,可以在IPv6套接字上处理IPv4连接。在这种情况下,您可能会看到“IPv4映射地址”,在存储/比较它们之前,您可能需要将其转换回正常的IPv4地址(像Web服务器这样的较低级别进程可能会也可能不会为您处理此转换)

与滥用者打交道可能需要一些考虑。禁止单一地址可能是徒劳的。为了有效禁止,您需要基于不同前缀长度的禁止功能。您可能还希望能够将滥用者使用模式映射到块。类似的问题也适用于对每个用户的连接数的限制


随着IPv4危机的深入,我们可能会看到更多地使用反向代理设置在仅v6的源服务器之间共享有限的公共IPv4地址池。因此,让您的软件准备好使用反向代理是明智的做法。这通常意味着有一个可信反向代理列表,您将从中接受x-forwarded-for头。

实际上有许多可能的IPv6格式,您已经展示了其中(最常见的)一种。。。只是让事情变得更复杂了,你说得对。在验证过程中,您应该考虑所有可能的选项。然而,我希望,已经有了各种编程语言的可用验证器。