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

This package is auto-updated.

Last update: 2024-08-26 12:23:36 UTC


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