覆盖HTTP标头的默认设置(X-FRAME-OPTIONS)

Fra*_*ste 15 http-headers x-frame-options laravel laravel-4

我正在使用开发版的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');
});
Run Code Online (Sandbox Code Playgroud)

但它只是添加了选项(X-Frame-Options:ALLOW-ALL, SAMEORIGIN),而我需要覆盖.

Fra*_*ste 24

Laravel不提供任何配置来禁用此功能.

根据Taylor Otwell的说法,绕过它的唯一方法是在开始文件中添加以下行:

App::forgetMiddleware('Illuminate\Http\FrameGuard');
Run Code Online (Sandbox Code Playgroud)

肮脏的解决方案是评论有罪的线:

$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
Run Code Online (Sandbox Code Playgroud)

编辑(2014年1月29日):Taylor Otwell 在GitHub上关于下一个Laravel政策的新信息.

默认情况下在4.2中删除它.应该在后过滤器中 - 将离开FrameGuard类,以便人们可以根据需要手动添加中间件.


pea*_*man 5

方法的第三个参数header应该满足您的需求.