ronanchilvers / silex-middleware
为 silex 的一些有用中间件
1.3
2019-01-11 22:01 UTC
Requires
- silex/silex: ^2.2
This package is auto-updated.
Last update: 2024-09-12 11:23:07 UTC
README
用于 Silex 的中间件集合。
安装
composer require ronanchilvers/silex-middleware
配置
配置详情根据使用的中间件而有所不同。具体请参见下方的说明。
可用中间件
内容安全策略
此中间件允许你向响应添加内容安全策略头。它使用 paragonie/csp-builder
库来构建头信息。你可以将策略作为数组传递为第一个构造函数参数。
$app->after( new Ronanchilvers\Silex\Middleware\ContentSecurityPolicy([ 'default-src' => [ 'self' => true, 'unsafe-inline' => true, ], 'style-src' => [ 'allow' => [ 'https://fonts.googleapis.com' ], 'self' => true, 'unsafe-inline' => true, ], 'font-src' => [ 'allow' => [ 'https://fonts.gstatic.com/' ], 'self' => true ], 'report-only' => true, ]) );
引用者策略
此中间件向响应添加了 引用者策略 头。此头的值是一个策略指令,必须是以下之一
- <空字符串>
- no-referrer
- no-referrer-when-downgrade
- same-origin
- origin
- strict-origin
- origin-when-cross-origin
- strict-origin-when-cross-origin
- unsafe-url
每个这些值的精确含义在 Scott Helme 的博客文章 这里 以及 w3.org 官方规范 中都有解释。
// This adds the middleware with a default 'no-referrer' policy $app->after(new Ronanchilvers\Silex\ReferrerPolicy()); // This specifies the 'strict-origin' policy $app->after(new Ronanchilvers\Silex\ReferrerPolicy('strict-origin'));
严格传输安全
此中间件向每个响应添加了 HSTS 或严格传输安全 头。
// Add with defaults $app->after(new Ronanchilvers\Silex\Middleware\StrictTransportSecurity()); // Or - set the max-age to 1 day / 86400 seconds $app->after(new Ronanchilvers\Silex\Middleware\StrictTransportSecurity(86400));
中间件接受两个构造函数参数
- 以秒为单位的最大存活时间 - 默认为 15552000 秒或 6 个月
- 包含子域名 - 默认为 false