middlewares / csp
中间件,用于向响应添加Content-Security-Policy头部
v3.1.1
2020-12-02 00:05 UTC
Requires
- php: ^7.2 || ^8.0
- paragonie/csp-builder: ^2.4
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- laminas/laminas-diactoros: ^2.3
- middlewares/utils: ^3.0
- oscarotero/php-cs-fixer-config: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
Suggests
- psr/log-implementation: Can be used to log the CSP reporting
README
使用paragonie/csp-builder库向响应添加Content-Security-Policy头部的中间件。
要求
安装
此包可以通过Composer以middlewares/csp的方式安装和自动加载。
composer require middlewares/csp
示例
use ParagonIE\CSPBuilder\CSPBuilder; $csp = CSPBuilder::fromFile('/path/to/source.json'); Dispatcher::run([ new Middlewares\Csp($csp) ]);
用法
将CSP构建器设置为构造函数。有关更多信息,请参阅paragonie/csp-builder。如果未提供,则创建一个具有限制性指令的通用构建器。
遗留
为旧浏览器生成遗留CSP头(X-Content-Security-Policy
和X-Webkit-CSP
)。默认为true
,但您可以禁用它。
$middleware = (new Middlewares\Csp($csp))->legacy(false);
辅助工具
createFromFile
使用JSON文件创建实例的快捷方式
Dispatcher::run([ Middlewares\Csp::createFromFile(__DIR__.'/csp-config.json') ]);
createFromData
使用数据数组创建实例的快捷方式
Dispatcher::run([ Middlewares\Csp::createFromData([ 'script-src' => ['self' => true], 'object-src' => ['self' => true], 'frame-ancestors' => ['self' => true], ]) ]);
有关最近更改的更多信息,请参阅CHANGELOG,有关贡献细节,请参阅CONTRIBUTING。
MIT许可证(MIT)。有关更多信息,请参阅LICENSE。