mileschou/twnicip

v1.0.5 2024-04-17 07:55 UTC

This package is auto-updated.

Last update: 2024-09-17 08:51:28 UTC


README

tests codecov Codacy Badge Latest Stable Version Total Downloads License

检查是否为台湾 IP 的小工具。

台湾 IP 没有想象中那么多,这个工具是直接把找到的数据转换成 PHP 原生变量类型的「数据库」,再使用另一个 外观 进行搜索。

原始数据库不能修改,只能通过原 repo 更新,而外观层则可以动态标记 IP 是否为台湾 IP。

版本

  • 0.x 版支持 PHP 7.1 ~ 8.0
  • 1.x 版支持 PHP 8.0+

安装

通过 Composer 即可安装:

composer require mileschou/twnicip

用法

这是主要验证 IP 源的 class,使用以下三个方法来确认是否是台湾 IP:

$twnicIp = new TwnicIp();

$twnicIp->isTaiwan('202.39.128.1'); // isTaiwanByIp() 的別名
$twnicIp->isTaiwanByIp('202.39.128.1');
$twnicIp->isTaiwanByLong(3391586305); // 轉成 IP 即 202.39.128.1 

如果有新加入的 IP,但原始 repo 没有更新时,可以自行添加:

$twnicIp->includeRange('127.0.0.1', '127.0.0.1');

$twnicIp->isTaiwan('127.0.0.1'); // return true

同理,如果某个区段的 IP 需要被排除时,也可以自行处理:

$twnicIp->excludeRange('127.0.0.1', '127.0.0.1');

$twnicIp->isTaiwan('127.0.0.1'); // return false

私有网域狭义来说,并不属于台湾的 IP。而实际上,机器在台湾,某种程度也是算台湾的 IP 啦!

如果想把私有网域当作台湾 IP 的话,可以额外调用下面这个方法:

$twnicIp->includePrivateIp();

里面其实只是调用 includeRange() 把私有 IP 的 range 加入。

参考资料

许可证

The MIT License (MIT)。请参阅许可证文件以获取更多信息。