Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function register()
 {
     $this->container->registerSingleton([Request::class, 'request'], function ($container) {
         $config = $container->get('config');
         $request = new Request(['languages' => $config->get('application.languages')], $container->get('signer'));
         $request->setTrustedProxies($config->get('application.trusted_proxies'));
         return $request;
     });
 }
Пример #2
0
 /**
  *
  */
 public function testIP()
 {
     $server = $this->getServerData();
     $request = new Request(['server' => $server]);
     $this->assertEquals('10.17.12.209', $request->ip());
     // Should fall back to localhost if an invalid IP is detected
     $server['REMOTE_ADDR'] = 'invalid ip';
     $request = new Request(['server' => $server]);
     $this->assertEquals('127.0.0.1', $request->ip());
     // Should ignore the X-Forwarded-For header if no list of trusted proxies is specified
     $server['REMOTE_ADDR'] = '127.0.0.1';
     $server['HTTP_X_FORWARDED_FOR'] = '10.17.12.211, 10.17.12.212, 10.17.12.213';
     $request = new Request(['server' => $server]);
     $this->assertEquals('127.0.0.1', $request->ip());
     // Should return the IP forwarded by the first trusted proxy
     $request = new Request(['server' => $server]);
     $request->setTrustedProxies(['10.17.12.213']);
     $this->assertEquals('10.17.12.212', $request->ip());
     // Should return the IP forwarded by the first trusted proxy
     $request = new Request(['server' => $server]);
     $request->setTrustedProxies(['10.17.12.212', '10.17.12.213']);
     $this->assertEquals('10.17.12.211', $request->ip());
 }