prezto/ipfilter

PSR-7 ip过滤器中间件。根据用户定义的规则,必要时将状态码设置为401。

0.3 2016-05-22 16:02 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:39:02 UTC


README

PSR-7 IpFilter

## 允许模式

默认的允许规则集允许所有连接通过,除非地址匹配

拒绝模式

默认的拒绝规则集将拒绝所有连接通过,除非地址匹配。

用法

use Prezto\IpFilter\IpFilterMiddleware;
use Prezto\IpFilter\Mode;

# Instantiate with a single address. Allow only one ip.
$filter = new IpFilterMiddleware(['192.168.1.7'], Mode::DENY)

# Instantiate with an address range. Allow only this range.
$filter = new IpFilterMiddleware([['192.168.1.100', '192.168.1.200']], Mode::DENY)

# Adding addresses after instantiating.
$filter->addIpRange('192.168.1.100', '192.168.1.200');
$filter->addIp('192.168.1.98');

之后,您可以将类添加到接受 $request, $response 和 next 作为参数的 psr7 中间件加载器中。

默认情况下,当用户被拒绝访问时,分配了一个错误处理器。您可以通过调用 setHandler 方法并传递一个函数/可调用对象作为参数来自定义它。此函数的参数需要是 $request, $response。如果访问被拒绝,它将在调用处理器后中断执行。