Как обойти некоторые IP-адреса для режима обслуживания Laravel 5

В Laravel 4 вы можете обойти некоторые IP-адреса для режима обслуживания Laravel (php artisan down) делая это:

App::down(function()
{
if ( !in_array(Request::getClientIp(), ['192.168.0.1']))
{
return Response::view('maintenance', [], 503);
}
});

Вы также можете предоставить конфигурационный файл maintenance.php со списком всех IP-адресов, чтобы разрешить доступ к вашему приложению в режиме обслуживания:

<?php

return [

/*
|--------------------------------------------------------------------------
| Allowed IP Addresses
|--------------------------------------------------------------------------
| Include an array of IP addresses or ranges that are allowed access to the app when
| it is in maintenance mode.
|
| Supported formats:

|
*/

'allowed_ips' => [
'10.0.2.2',
'10.2.*.*',
'10.0.2.3 - 10.0.2.45',
'10.0.3.0-10.3.3.3'
],

];

Мой вопрос: как мне достичь этого в Laravel 5?

1

Решение

Создать новое промежуточное ПО

<?php

namespace App\Http\Middleware;

use Closure;

use Illuminate\Contracts\Foundation\Application;

use Illuminate\Http\Request;

use Symfony\Component\HttpKernel\Exception\HttpException;class CheckForMaintenanceMode

{

protected $request;

protected $app;public function __construct(Application $app, Request $request)

{

$this->app = $app;

$this->request = $request;

}/**

* Handle an incoming request.

*

* @param  \Illuminate\Http\Request  $request

* @param  \Closure  $next

* @return mixed

*/public function handle($request, Closure $next)

{

if ($this->app->isDownForMaintenance() &&

!in_array($this->request->getClientIp(), ['::1','another_IP']))

{

throw new HttpException(503);

}return $next($request);

}

}

'::1' ваш собственный IP-адрес, предполагающий наличие локального хоста, если не указан ваш IP-адрес. Вы можете исключить несколько IP в массиве. проверять Исключение вашего IP-адреса в режиме обслуживания (php artisan down) в Laravel 5

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector