我正在使用Laravel的开发版本(4.1.*),有一个我不想要的新默认配置:X-Frame-Options: SAMEORIGIN

目前我禁用了by deleting one line in Illuminate\Http\FrameGuard.php

我在寻找更好的解决方案.我试过过滤.php文件:

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

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

推荐答案

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

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

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

肮脏的解决方案是 comments guilty line:

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

Edit (Jan 29th 2014):Taylor Otwell on GitHub关于next Laravel政策的新信息.

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

Laravel相关问答推荐

为什么Laravel在API请求时返回BadMethodCallException?

Livewire 基于下拉 Select 自动填充输入框

模型文件名更改数据库中的表名

如何通过 Controller 访问 Laravel 中 Model 的值?

Laravel & Docker:无法打开流或文件/var/www/html/storage/logs/laravel.log:无法打开流:权限被拒绝

Laravel + Plupload 上传到 S3 响应以进行预检无效 - CORS

Laravel - 将变量从中间件传递到控制器/路由

Laravel Eloquent - 随叫随到的加密/解密数据

为什么 Laravel 5 会自动更新我的日期字段?

Laravel 合集日期比较

Laravel Eloquent:访问属性和动态表名

SQLSTATE [HY000]:一般错误:1005 无法创建表 - Laravel 4

使用 vue-router 更改路由时中止所有 Axios 请求

中间件中的 Laravel 依赖注入

用于集合的 Laravel 5.5 API 资源

Laravel:方法[显示]不存在

无法在控制器的构造函数上调用 Auth::user()

Laravel 部署……有标准的方式吗?

为什么 phpunit 没有得到 phpunit.xml 中指定的正确 APP_ENV?

如何在脚本文件中使用 Laravel Blade?