web-dev-qa-db-ja.com

HTTPヘッダーのデフォルト設定を上書きする(X-FRAME-OPTIONS)

私はLaravel(4.1。*)の開発バージョンで作業しており、私が望まない新しいデフォルト構成があります:X-Frame-Options: SAMEORIGIN

差し当たり、無効にします Illuminate\Http\FrameGuard.php

より良い解決策を探しています。私はfiltre.phpファイルで試しました:

App::after(function($request, $response) {
   $response->header('X-Frame-Options', 'ALLOW-ALL');
});

ただし、オプション(X-Frame-Options:ALLOW-ALL, SAMEORIGIN)、ただしオーバーライドが必要です。

15
Fractaliste

Laravelはこの機能を無効にする設定を提供していません。

Taylor Otwell によると、これをバイパスする唯一の方法は、次の行を開始ファイルに追加することです。

App::forgetMiddleware('Illuminate\Http\FrameGuard');

汚い解決策は、コメントすることです 有罪の行

$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);

編集(2014年1月29日):Taylor Otwellからの新しい情報 GitHubで 次のLaravelのポリシーについて。

4.2では、これをデフォルトで削除します。アフターフィルターに含める必要があります-必要に応じて手動でミドルウェアを追加できるように、FrameGuardクラスを残します。

24
Fractaliste

header メソッドの3番目のパラメーターは、ニーズを満たす必要があります。

5
peaceman