背景
我正在创建REST API
以使用我的移动应用。为了合法性,我必须保留通过IP地址向服务器发出的任何请求的记录。
我知道人们可以根据需要欺骗IP,但这不是问题。有一个安全的API密钥,这只是一个CYA预防措施。
使用中间件Slim 3 suggest here,值始终是NULL
我正在从我的localhost测试这个(如果这有所不同,但我不知道为什么会这样)。
问题
当我点击获取请求端点并尝试捕获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!
问题
使用IP address
rka-ip-address-middleware middleware
从请求中捕获SlimFrameWork 3
的正确方法是什么?
答案 0 :(得分:1)
你尝试过这样的事吗?
$requestIP = $request->getServerParam('REMOTE_ADDR');