davidepastore/slim-restrict-route
最新稳定版本:v0.3.1
Composer 安装命令:
composer require davidepastore/slim-restrict-route
包简介
A Slim middleware to restrict ip addresses that will access to your routes
README 文档
README
A slim middleware to restrict ip addresses that will access to your routes. It internally uses Ip Validator of Respect/Validation and rka-ip-address-middleware.
Install
Via Composer
$ composer require davidepastore/slim-restrict-route
Requires Slim 3.0.0 or newer.
Usage
You have to register also the RKA\Middleware\IpAddress middleware to correctly read the ip address.
In most cases you want to register DavidePastore\Slim\RestrictRoute for a single route, however,
as it is middleware, you can also register it for all routes.
Register per route
$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();
Register for all routes
$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 address
You can restrict route using a different value of ip in the options given to \RestrictRoute:
- any of the filters provided by PHP regarding
FILTER_VALIDATE_IP(e.g.:FILTER_FLAG_NO_PRIV_RANGE); - asterisk (
*) to filter ip that are in the given subnet (e.g.:192.*); - ranges (
-) to filter ip that are in the given range (e.g.:192.168.0.0-192.168.255.255); - single ip (e.g.:
192.168.0.1-192.168.0.1); - array of ranges to filter ip (e.g.:
array('192.0.0.0-192.255.255.255', '178.0.0.*')).
You can find more syntax information on the Ip validator documentation and in its Unit Test class.
Testing
$ phpunit
Contributing
Please see CONTRIBUTING for details.
Credits
统计信息
- 总下载量: 19.7k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 23
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0
- 更新时间: 2016-04-25