firefly-iii/app/Http/Middleware/TrustProxies.php

57 lines
1.4 KiB
PHP
Raw Normal View History

2017-09-09 15:02:20 -05:00
<?php
2017-09-14 10:40:02 -05:00
declare(strict_types=1);
/**
* TrustProxies.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
2017-09-09 15:02:20 -05:00
namespace FireflyIII\Http\Middleware;
use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Contracts\Config\Repository;
2017-09-14 10:40:02 -05:00
use Illuminate\Http\Request;
2017-09-09 15:02:20 -05:00
class TrustProxies extends Middleware
{
/**
2017-09-14 10:40:02 -05:00
* The current proxy header mappings.
2017-09-09 15:02:20 -05:00
*
* @var array
*/
2017-09-14 10:40:02 -05:00
protected $headers
= [
Request::HEADER_FORWARDED => 'FORWARDED',
Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
];
2017-09-09 15:02:20 -05:00
/**
2017-09-14 10:40:02 -05:00
* The trusted proxies for this application.
2017-09-09 15:02:20 -05:00
*
* @var array
*/
2017-09-14 10:40:02 -05:00
protected $proxies;
/**
* TrustProxies constructor.
*
* @param Repository $config
*/
public function __construct(Repository $config)
{
$trustedProxies = env('TRUSTED_PROXIES', null);
if (!is_null($trustedProxies) && strlen($trustedProxies) > 0) {
$this->proxies = $trustedProxies;
}
parent::__construct($config);
}
2017-09-09 15:02:20 -05:00
}