9

Web 开发人员是否需要担心 IPv4 的终结?还是这严格来说是托管级别的问题?

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

讨论!

(如果这在我道歉之前就出现了,但我的搜索没有发现任何东西)

4

4 回答 4

8

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

于 2011-01-29T12:19:00.877 回答
1

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

于 2011-01-29T12:22:07.940 回答
1

您处理 IP 地址的任何地方都需要进行审核,以检查它是否是 IPv6 干净的。简单的 web 应用程序可能不会费心存储任何 IP 地址,但许多会出于滥用跟踪/控制的目的。IPv6 地址大于 ipv4 地址,并且文本表示使用不同的符号。

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

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

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

于 2016-08-25T14:35:11.313 回答
0

实际上,我怀疑 IPv4 是否会终结。只是我的观点。Netorking 应用程序必须编写为与 IPv4/6 兼容。一些 API 使这非常容易。

于 2011-01-29T23:42:20.907 回答