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
3 changed files with 5 additions and 0 deletions

View File

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

View File

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

View File

@@ -169,6 +169,9 @@ class RequestTest extends Base
$request = new Request($this->container, array(), array(), array(), array(), array()); $request = new Request($this->container, array(), array(), array(), array(), array());
$this->assertEquals('Unknown', $request->getIpAddress()); $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()); $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()); $this->assertEquals('192.168.0.1', $request->getIpAddress());