使用 rka-ip-address-middleware 在 SlimFramework 3 中检索 IP 地址

Retrieving IP address in SlimFramework 3 with rka-ip-address-middleware

背景

我正在创建一个 REST API 来使用我的移动应用程序。出于合法目的,我记录了通过 IP 地址向服务器发出的任何请求,这一点很重要。

我知道人们可以根据需要欺骗 IP,但这不是问题。有一个 API 安全密钥,这只是一个 CYA 预防措施。

使用中间件 Slim 3 suggest here 值始终是 NULL 我正在从我的本地主机上测试它(如果这有所不同,但我不知道为什么会这样)。

问题

当我点击获取请求端点并尝试捕获 IP 时,它始终是 NULL

例子

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require '../vendor/autoload.php';

    $app->get('/api/v1/customer', function (Request $request, Response $response) {
        $requestIP = $request->getAttribute('ip_address');
         var_dump($requestIP);
         echo $requestIP;
         echo 'CUSOTMERS!';

        return $response;
    });

$app->run();

输出

NULL CUSOTMERS!

问题

使用 SlimFrameWork 3

中的 rka-ip-address-middleware middleware 从请求中捕获 IP address 的正确方法是什么

你试过这样的事情吗?

$requestIP = $request->getServerParam('REMOTE_ADDR');