s-deb / slim-security
符合PSR-7的安全中间件
dev-master
2017-04-09 19:01 UTC
Requires
- php: >=5.5.0
- psr/http-message: ^1.0
Requires (Dev)
- slim/slim: ~3.0
This package is not auto-updated.
Last update: 2024-09-29 01:38:28 UTC
README
这是一个符合PSR7的PHP中间件,可以满足您的所有安全需求。
该项目刚刚开始,但为了给您一个使用时的概念,请参见下面的示例配置。
配置中间件有两种方式。
- 直接在定义每个路由的中间件时
- 通过配置文件全局配置(下面的示例配置)并确保每次请求都调用它。这将提供一个方式,即使是非中间件基于的项目也可以通过在每页手动调用它来使用这个中间件
示例配置(中间件初始化)
$app->addRoute('/dashboard/add*',['POST'],function(){})
->add(new SDeb\slim-security\SeceuiryMiddleware(
{
"csrf":true,
"auth":true,
"role":["ADMIN"],
"params":[
{
"name":"id",
"type":"long",
"required":true
},
{
"name":"action",
"type":"regex",
"regex":"ADD|DELETE|MODIFY"
"required":true
},
]
}))
示例配置(全局配置)
{
"properties":{
"csrf-param-name":"mycsrfparam",
"csrf-cookie-name":"mycsrfcookie",
"auth-provider":"Debmego\common\AuthProvider",
"...":"..."
},
"paths":[
{
"path":"/dashboard/add*",
"method":["POST"],
"csrf":true,
"auth":true,
"role":["ADMIN"],
"params":[
{
"name":"id",
"type":"long",
"required":true
},
{
"name":"action",
"type":"regex",
"regex":"ADD|DELETE|MODIFY"
"required":true
},
]
}
]
}