大维帕斯托雷 / slim-restrict-route
一个用于限制访问您路由的IP地址的Slim中间件
v0.3.1
2018-06-23 12:04 UTC
Requires
- php: >=5.5.0
- akrabat/ip-address-middleware: ~0.4
- respect/validation: ^1.0
Requires (Dev)
- phpunit/phpunit: ^4.0
- scrutinizer/ocular: ~1.1
- slim/slim: ~3.0
This package is auto-updated.
Last update: 2024-08-26 07:51:11 UTC
README
一个用于限制访问您路由的IP地址的Slim中间件。它内部使用Respect/Validation和rka-ip-address-middleware的Ip
验证器。
安装
通过Composer
$ composer require davidepastore/slim-restrict-route
需要Slim 3.0.0或更高版本。
用法
您还需要注册RKA\Middleware\IpAddress
中间件来正确读取IP地址。在大多数情况下,您希望为单个路由注册DavidePastore\Slim\RestrictRoute
,但是,由于它是中间件,您也可以为所有路由注册它。
按路由注册
$app = new \Slim\App(); $app->add(new RKA\Middleware\IpAddress()); $options = array( 'ip' => '192.*.*.*' ); $app->get('/api/myEndPoint',function ($req, $res, $args) { //Your amazing route code })->add(new \DavidePastore\Slim\RestrictRoute\RestrictRoute($options)); $app->run();
为所有路由注册
$app = new \Slim\App(); $app->add(new RKA\Middleware\IpAddress()); $options = array( 'ip' => '192.*.*.*' ); // Register middleware for all routes // If you are implementing per-route checks you must not add this $app->add(new \DavidePastore\Slim\RestrictRoute\RestrictRoute($options)); $app->get('/foo', function ($req, $res, $args) { //Your amazing route code }); $app->post('/bar', function ($req, $res, $args) { //Your amazing route code }); $app->run();
IP地址
您可以使用在\RestrictRoute
提供的options
中不同的ip
值来限制路由
- PHP提供的有关
FILTER_VALIDATE_IP
的任何过滤器(例如:FILTER_FLAG_NO_PRIV_RANGE
); - 星号(
*
)以过滤给定子网中的IP(例如:192.*
); - 范围(
-
)以过滤给定范围内的IP(例如:192.168.0.0-192.168.255.255
); - 单个IP(例如:
192.168.0.1-192.168.0.1
); - 用于过滤IP的范围数组(例如:
array('192.0.0.0-192.255.255.255', '178.0.0.*')
)。
测试
$ phpunit
贡献
有关详细信息,请参阅CONTRIBUTING。