通过 .htaccess 将个人的 IPv6 范围列入白名单

IPv*_*est 6 ipv6 .htaccess whitelist

我在网站上有一个部分可以阻止对所有 IP 的访问,但列入白名单的 IP 除外。对于 IPv4,这很简单,因为即使使用动态 IP,它们通常几个月甚至几年都不会改变。

但是,对于 IPv6,这些似乎每 24 小时左右交替一次。这意味着我不能简单地将初始 IPv6 IP 列入白名单并称其为良好,因为它会很快再次更改。因此,我需要将整个范围列入白名单。即使在过去几天阅读和测试 IPv6 之后,我仍然不确定我是否掌握了它。

这是我所拥有的:

order deny,allow
allow from 1234:123:4567:ab1::/64
deny from all
Run Code Online (Sandbox Code Playgroud)

IP 地址的前 4 部分永远不会改变,但后 4 部分会不断变化。在这种情况下,这是将个人 IP 列入白名单的正确方法吗?

Mic*_*ton 4

对于 IPv6,您必须开始考虑子网,而不是单个 IP 地址。/64 子网被分配给物理 LAN(或 VLAN),并且可以通过多种方式为该子网中的主机分配该子网中的地址,并且如果配置为这样做,则可以任意更改它们(例如隐私地址)。

不可能确定子网中的两个不同 IPv6 地址对应于同一台计算机,但您可以合理地确定给定的 IPv6 /64 对应于子网,当然还有子网中的所有主机。