動機
讓全站https加密
動手做
首先在你需要https的地方宣告必須使用https
就先拿login頁面開刀吧
[root@ip-10-128-110-42 sign]# pwd /var/www/html/giveradm/resources/views/sign加上一個meta
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
接著建立一個 middleware
php artisan make:middleware AddHeaders.php [root@ip-10-128-110-42 Middleware]# ll /var/www/html/giveradm/app/Http/Middleware/AddHeaders.php -rw-r--r-- 1 nobody nobody 616 Jan 27 21:04 /var/www/html/giveradm/app/Http/Middleware/AddHeaders.php內容是替所有的https加入允許跨站的部分
<?php
namespace App\Http\Middleware;
use Closure;
class AddHeaders
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('Access-Control-Allow-Origin', env('APP_URL'));
$response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
$response->header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept');
return $response;
}
}
然後在middleware進入點宣告,這邊讓所有有吃web middleware的都去讀他。
[root@ip-10-128-110-42 Middleware]# vim /var/www/html/giveradm/app/Http/Kernel.php
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\AddHeaders::class,
],
驗證
直接打開網站看看吧!
留言
張貼留言