やり方が悪かったのか、.htaccessにHeader always append X-Frame-Options DENY
ってやっても効かなくて焦ったのでメモ。
1. Middlewareでサイト全体にかける
$ php artisan make:middleware ResponseHeader
app/Http/Middleware/ResponseHeader.php
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('X-Frame-Options', 'DENY');
return $response;
}
Kernelの$middleware
に登録
app/Http/Kernel.php
protected $middleware = [
\App\Http\Middleware\ResponseHeader::class,
];
2. アクションごとに設定する
return response()->view('hoge.index')->header('X-Frame-Options', 'DENY');
3. Middlewareで設定してコントローラで有効無効を出し分ける
Kernelの$routeMiddleware
に登録して、各コントローラのコンストラクタでコントロールする。(未検証)