delboy1978uk / bone-firewall
Bone Framework 的防火墙包
v1.3.0
2024-03-21 17:11 UTC
Requires
- php: ^8.2
- delboy1978uk/barnacle: ^2.3
- delboy1978uk/bone-http: ^2.4
- delboy1978uk/bone-router: ^1.4
- psr/http-message: ^2.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- codeception/codeception: ^5.1
- codeception/module-asserts: ^3.0
- codeception/module-phpbrowser: ^3.0
- laminas/laminas-diactoros: ^3.3
- roave/security-advisories: dev-latest
README
Bone Framework 控制供应商包路由的防火墙包。
安装
使用 Composer
composer require delboy1978uk/bone-firewall
使用方法
简单地将以下代码添加到 config/packages.php
<?php // use statements here use Bone\Firewall\Firewall\FirewallPackage; return [ 'packages' => [ // packages here..., FirewallPackage::class, ], // ... ];
阻止路由
并将一个 blockedRoutes
列表添加到你的配置中。例如,包 delboy1978uk/bone-user
为访客注册用户账户提供了端点。如果你不想暴露此类端点,你可以添加在包的 addRoutes(Container $c, Router $router)
方法中配置的路径,也可以使用通配符字符串,如下所示。
<?php return [ 'blockedRoutes' => [ '/user/register', '/user/lost-password/{email}', ], ];
添加中间件
有时你可能想要向来自供应商包的路由添加中间件,你也可以通过添加以下配置键来完成此操作。每个键可以持有中间件的实际实例、表示中间件的字符串(该字符串在容器中可以找到),或者如果你想添加多个中间件,可以是一个数组。
return [ 'blockedRoutes' => [ // etc ], 'routeMiddleware' => [ '/api/some/endpoint' => SomeMiddleware::class, '/api/another/endpoint' => new AwesomeMiddleware(), '/api/yet/another/endpoint' => [ new AwesomeMiddleware(), SomeMidlleware::class, ], ], ];