Версия Slim

Начнем

Учебное пособие

Концепции

Приложение

Запрос

Ответ

Маршрутизация

Обработка ошибок

Cook book

Дополнения

Вклад в Slim

Получение IP-адреса

Лучший способ получить текущий IP-адрес клиента - через middleware с использованием такого компонента, как rka-ip-address-middleware.

Этот компонент может быть установлен через composer:

composer require akrabat/rka-ip-address-middleware

To use it, register the middleware with the App, providing a list of trusted proxies (e.g. varnish servers) if you are using them.:

$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;
});

Middleware хранит IP-адрес клиента в атрибуте запроса, поэтому доступ осуществляется через $request->getAttribute('ip_address').