检索 IP 地址
最后更新于:2022-04-01 22:34:08
# 检索 IP 地址
检索客户端当前 IP 地址的最佳方式,是利用使用了类似 [rka-ip-address-middleware](https://github.com/akrabat/rka-ip-address-middleware) 这种组件的中间件。
这个组件可以通过 composer 来安装:
```
composer require akrabat/rka-ip-address-middleware
```
要使用这个组件,需要使用 `App` 注册中间件,这里提供了一个可信赖的代理列表(e.g. varnish 服务器), 如果你再使用它们:
```
$checkProxyHeaders = true;
$trustedProxies = ['10.0.0.1', '10.0.0.2'];
$app->add(new RKA\Middleware\IpAddress($checkProxyHeaders, $trustedProxies));
$app->get('/', function ($request, $response, $args) {
$ipAddress = $request->getAttribute('ip_address');
return $response;
});
```
这个中间件把客户端 IP 地址存储在一个 HTTP 请求属性中,所以需要通过 `$request->getAttribute('ip_address')` 来访问。
';