Handle HTTP header X-Real-IP to get IP address

This commit is contained in:
Frederic Guillot 2016-07-16 14:11:14 -04:00
parent 6cfce7720a
commit 4364559805
No known key found for this signature in database
GPG Key ID: 92D77191BA7FBC99
3 changed files with 5 additions and 0 deletions

View File

@ -9,6 +9,7 @@ New features:
Improvements:
* Handle header X-Real-IP to get IP address
* Display project name for task auto-complete fields
* Make search attributes not case sensitive
* Display TOTP issuer for 2FA

View File

@ -301,6 +301,7 @@ class Request extends Base
public function getIpAddress()
{
$keys = array(
'HTTP_X_REAL_IP',
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED',

View File

@ -169,6 +169,9 @@ class RequestTest extends Base
$request = new Request($this->container, array(), array(), array(), array(), array());
$this->assertEquals('Unknown', $request->getIpAddress());
$request = new Request($this->container, array('HTTP_X_REAL_IP' => '192.168.1.1,127.0.0.1'), array(), array(), array(), array());
$this->assertEquals('192.168.1.1', $request->getIpAddress());
$request = new Request($this->container, array('HTTP_X_FORWARDED_FOR' => '192.168.0.1,127.0.0.1'), array(), array(), array(), array());
$this->assertEquals('192.168.0.1', $request->getIpAddress());