ossinkine / pseudo-ipv4
将IPv6地址转换为伪IPv4(E类空间的有效IPv4地址)
v1.1.0
2020-11-09 09:57 UTC
Requires
- php: ^7.3 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-09 18:24:57 UTC
README
伪IPv4是一个库,它将IPv6地址转换为E类空间中的IPv4地址(240.0.0.0 - 255.255.255.255)。如果您的应用程序仅支持IPv4,但客户使用IPv6,则这可能很有用。更多信息请参阅CloudFlare解决方案
工作原理
伪IPv4确定给定的地址是否是6to4,并获取原始IPv4地址。否则,它从给定的IPv6地址中获取前8个字节并将它们转换为4个字节。
安装
composer require ossinkine/pseudo-ipv4
用法
创建一个转换实例并将IPv6地址传递给它。
use Ossinkine\PseudoIpv4\PseudoIpv4Converter; $ipv6 = '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d'; $converter = new PseudoIpv4Converter(); $ipv4 = $converter->convert($ipv6);
如果您不确定地址是否是IPv6,您可以捕获适当的异常。
use Ossinkine\PseudoIpv4\Exception\WrongIpv6Exception; use Ossinkine\PseudoIpv4\PseudoIpv4Converter; $ip = $_SERVER['REMOTE_ADDR']; $converter = new PseudoIpv4Converter(); try { $ipv4 = $converter->convert($ip); } catch (WrongIpv6Exception $exception) { $ipv4 = $ip; }