morsvox/ip-range-checker

此包是一个小助手,用于检查给定的IP地址是否在某个IP范围内。

v1.0.0 2023-03-06 10:14 UTC

This package is not auto-updated.

Last update: 2024-09-17 15:10:08 UTC


README

这是一个简单的辅助包,我在需要检查IP是否在特定IP范围内时使用它。

欢迎所有想法、贡献和批评。

安装

composer require morsvox/ip-range-checker

使用

在您的脚本中导入类

use IlkerMutlu\IPRangeChecker\Checker;

$ip = '192.168.0.22';
$checker = Checker::forIp($ip);

将起始IP和结束IP以数组形式传递给setRange()方法。

$checker->setRange([
    '192.168.0.1',
    '192.168.0.28'
]);

// $checker->check() will return true for IPs between
// 192.168.0.1 and 192.168.0.28
// 192.168.0.19 will return TRUE
// 192.168.1.41 will return FALSE

您还可以使用通配符。

$checker->setRange('192.168.0.*');

// $checker->check() will return TRUE for IPs between
// 192.168.0.1 and 192.168.0.255
// 192.168.0.41 will return TRUE
// 192.168.1.41 will return FALSE

或者,您可以通过破折号分隔两个IP地址。

$checker->setRange('192.168.0.4-192.168.0.54');

// $checker->check() will return TRUE for IPs between
// 192.168.0.4 and 192.168.0.54
// 192.168.0.41 will return TRUE
// 192.168.0.61 will return FALSE

设置范围后,只需在检查实例上调用check()方法,它将返回一个布尔值。

$checker->check();

待办事项

  1. 测试
  2. 支持带有破折号的IP范围字符串
  3. 支持CIDR