PHP Класс RKA\Middleware\IpAddress

Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
$attributeName string Name of the attribute added to the ServerRequest object
$checkProxyHeaders boolean Defaults to false as only $_SERVER['REMOTE_ADDR'] is a trustworthy source of IP address.
$headersToInspect array List of proxy headers inspected for the client IP address
$trustedProxies array If not empty, then one of these IP addresses must be in $_SERVER['REMOTE_ADDR'] in order for the proxy headers to be looked at.

Открытые методы

Метод Описание
__construct ( boolean $checkProxyHeaders = false, array $trustedProxies = [], string $attributeName = null, array $headersToInspect = [] ) Constructor
__invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) : Psr\Http\Message\ResponseInterface Set the "$attributeName" attribute to the client's IP address as determined from the proxy header (X-Forwarded-For or from $_SERVER['REMOTE_ADDR']

Защищенные методы

Метод Описание
determineClientIpAddress ( Psr\Http\Message\ServerRequestInterface $request ) : string Find out the client's IP address from the headers available to us
isValidIpAddress ( string $ip ) : boolean Check that a given string is a valid IP address

Приватные методы

Метод Описание
getFirstIpAddressFromHeader ( Psr\Http\Message\ServerRequestInterface $request, string $header ) : string Find out the client's IP address from the headers available to us

Описание методов

__construct() публичный Метод

Constructor
public __construct ( boolean $checkProxyHeaders = false, array $trustedProxies = [], string $attributeName = null, array $headersToInspect = [] )
$checkProxyHeaders boolean Whether to use proxy headers to determine client IP
$trustedProxies array List of IP addresses of trusted proxies
$attributeName string Name of attribute added to ServerRequest object
$headersToInspect array List of headers to inspect

__invoke() публичный Метод

Set the "$attributeName" attribute to the client's IP address as determined from the proxy header (X-Forwarded-For or from $_SERVER['REMOTE_ADDR']
public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) : Psr\Http\Message\ResponseInterface
$request Psr\Http\Message\ServerRequestInterface PSR7 request
$response Psr\Http\Message\ResponseInterface PSR7 response
$next callable Next middleware
Результат Psr\Http\Message\ResponseInterface

determineClientIpAddress() защищенный Метод

Find out the client's IP address from the headers available to us
protected determineClientIpAddress ( Psr\Http\Message\ServerRequestInterface $request ) : string
$request Psr\Http\Message\ServerRequestInterface PSR-7 Request
Результат string

isValidIpAddress() защищенный Метод

Check that a given string is a valid IP address
protected isValidIpAddress ( string $ip ) : boolean
$ip string
Результат boolean

Описание свойств

$attributeName защищенное свойство

Name of the attribute added to the ServerRequest object
protected string $attributeName
Результат string

$checkProxyHeaders защищенное свойство

Defaults to false as only $_SERVER['REMOTE_ADDR'] is a trustworthy source of IP address.
protected bool $checkProxyHeaders
Результат boolean

$headersToInspect защищенное свойство

List of proxy headers inspected for the client IP address
protected array $headersToInspect
Результат array

$trustedProxies защищенное свойство

If not empty, then one of these IP addresses must be in $_SERVER['REMOTE_ADDR'] in order for the proxy headers to be looked at.
protected array $trustedProxies
Результат array