从IPv4变为IPv6:它对Web开发有何影响?

时间:2011-01-29 12:17:06

标签: networking ipv6 ipv4

Web开发人员是否需要关注IPv4的结束? 或者这严重是托管级别的关注?

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

讨论!

(如果在我道歉之前出现这种情况,但我的搜索没有透露任何内容)

4 个答案:

答案 0 :(得分:8)

在服务器端,确保您没有对远程IP地址的格式做出假设 - 像在一个32位数据库字段中打包海报的IP地址这样的黑客是个坏主意。如果您使用子网掩码进行禁令或其他操作,则还需要进行更改。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您处理的任何地方都需要审核IP地址,以检查它是否是IPv6干净的。简单的webapps可能不会打扰存储任何IP地址,但许多将用于滥用跟踪/控制。 IPv6地址大于ipv4,文本表示使用不同的符号。

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

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

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

答案 3 :(得分:0)

我怀疑IPv4实际上会结束。只是我的观点。网络应用程序必须编写为IPv4 / 6兼容。有些API非常简单。