abouvier/slim-access

Slim框架的访问控制中间件

v0.2.0 2015-09-15 17:22 UTC

This package is auto-updated.

Last update: 2024-09-27 22:54:09 UTC


README

Slim框架的访问控制中间件。

支持的格式

  • IPv4和IPv6地址
  • CIDR表示法
  • all 关键字

安装

composer require abouvier/slim-access

使用方法

仅接受来自localhost和192.168.1.0/24子网(除了192.168.1.42)的请求

use \Slim\Middleware\Access;
// ...
$app = new \Slim\Slim();
// ...
$app->add(new Access([
	'callback' => function () use ($app) {
		$app->halt(403, 'You Shall Not Pass!!!');
	},
	'list' => [
		'::1' => Access::ALLOW,
		'127.0.0.1' => Access::ALLOW,
		'192.168.1.42' => Access::DENY,
		'192.168.1.0/24' => Access::ALLOW,
		'all' => Access::DENY // optional as "all" is already denied by default
	]
]));
// ...
$app->run();

$app = new \Slim\Slim();
// ...
$access = new \Slim\Middleware\Access([
	'callback' => function () use ($app) {
		$app->halt(403, 'You Shall Not Pass!!!');
	}
]);
$access->allow('::1')->allow('127.0.0.1')->deny('192.168.1.42')->allow('192.168.1.0/24')->deny('all');
$app->add($access);
// ...
$app->run();