akrabat / proxy-detection-middleware
PSR-7/PSR-15 中间件,通过 'X-Forwarded-Proto', 'X-Forwarded-Host' 和 'X-Forwarded-Port' 头部确定方案、主机和端口,并更新请求的 Uri 对象。
1.0
2023-02-17 18:13 UTC
Requires
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- php: ^8.0
- laminas/laminas-diactoros: ^2.24
- phpunit/phpunit: ^9.6
- squizlabs/php_codesniffer: ^3.7
README
PSR-15 中间件,通过 'X-Forwarded-Proto', 'X-Forwarded-Host' 和 'X-Forwarded-Port' 头部确定方案、主机和端口,并更新请求的 Uri 对象。
您可以将信任的代理列表作为第二个构造函数参数设置。如果设置了此列表,则只有当 REMOTE_ADDR
在信任列表中时,才会检查代理头部。
安装
composer require akrabat/proxy-detection-middleware
使用方法
Slim 3 中
$trustedProxies = ['10.0.0.1', '10.0.0.2']; $app->add(new RKA\Middleware\ProxyDetection($trustedProxies)); $app->get('/', function ($request, $response, $args) { $scheme = $request->getUri()->getScheme(); $host = $request->getUri()->getHost(); $port = $request->getUri()->getPort(); return $response; });
测试
- 代码覆盖率:
$ vendor/bin/phpcs
- 单元测试:
$ vendor/bin/phpunit
- 代码覆盖率:
$ vendor/bin/phpunit --coverage-html ./build