Property | Type | Description | |
---|---|---|---|
$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. |
Method | Description | |
---|---|---|
__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'] |
Method | Description | |
---|---|---|
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 |
Method | Description | |
---|---|---|
getFirstIpAddressFromHeader ( Psr\Http\Message\ServerRequestInterface $request, string $header ) : string | Find out the client's IP address from the headers available to us |
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 |
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 |
return | Psr\Http\Message\ResponseInterface |
protected determineClientIpAddress ( Psr\Http\Message\ServerRequestInterface $request ) : string | ||
$request | Psr\Http\Message\ServerRequestInterface | PSR-7 Request |
return | string |
protected isValidIpAddress ( string $ip ) : boolean | ||
$ip | string | |
return | boolean |
protected string $attributeName | ||
return | string |
protected bool $checkProxyHeaders | ||
return | boolean |
protected array $headersToInspect | ||
return | array |
protected array $trustedProxies | ||
return | array |