yiisoft/network-utilities

网络相关工具

1.2.0 2024-09-02 14:07 UTC

This package is auto-updated.

Last update: 2024-09-02 14:07:42 UTC


README

Yii

Yii 网络工具包


Latest Stable Version Total Downloads Build status Code coverage Mutation testing badge static analysis type-coverage

该包包含各种有用的网络工具,可用于:

  • 获取关于 IP 地址的信息;
  • 检查 IP 是否位于特定范围内;
  • 扩展 IPv6;
  • 将 IP 转换为位表示形式;
  • 检查 DNS 记录可用性。

要求

  • PHP 7.4 或更高版本。

安装

该包可以使用 Composer 安装

composer require yiisoft/network-utilities

通用用法

IpHelper

use Yiisoft\NetworkUtilities\IpHelper;

// Check IP version.
$version = IpHelper::getIpVersion('192.168.1.1');
if ($version === IpHelper::IPV4) {
    // ...
}

// Check if IP is in a certain range.
if (!IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24')) {
    throw new \RuntimeException('Access denied!');
}

// Expand IP v6.
echo IpHelper::expandIPv6('2001:db8::1');

// Convert IP to bits representation.
echo IpHelper::ip2bin('192.168.1.1');

// Get bits from CIDR Notation.
echo IpHelper::getCidrBits('192.168.1.21/32');

DnsHelper

use Yiisoft\NetworkUtilities\DnsHelper;

// Check DNS record availability.
if (!DnsHelper::existsA('yiiframework.com')) {
  // Record not found.
}

IpRanges

use Yiisoft\NetworkUtilities\IpRanges;

$ipRanges = new IpRanges(
    [
        '10.0.1.0/24',
        '2001:db0:1:2::/64',
        IpRanges::LOCALHOST,
        'myNetworkEu',
        '!' . IpRanges::ANY,
    ],
    [
        'myNetworkEu' => ['1.2.3.4/10', '5.6.7.8'],
    ],
);

$ipRanges->isAllowed('10.0.1.28/28'); // true
$ipRanges->isAllowed('1.2.3.4'); // true
$ipRanges->isAllowed('192.168.0.1'); // false

文档

如果您需要帮助或有问题,请访问 Yii 论坛。您还可以查看其他 Yii 社区资源

许可

Yii 网络工具包是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅 LICENSE

Yii 软件 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack