Php Laravel 5.1-设置X帧选项会导致错误
我在app/HTTP/Kernal.php中将以下中间件添加到HTTP内核堆栈中,它将X-Frame-Options:SAMEORIGIN添加到头中Php Laravel 5.1-设置X帧选项会导致错误,php,laravel,laravel-5,middleware,Php,Laravel,Laravel 5,Middleware,我在app/HTTP/Kernal.php中将以下中间件添加到HTTP内核堆栈中,它将X-Frame-Options:SAMEORIGIN添加到头中 <?php namespace App\Http\Middleware; use Closure; class FrameGuard { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request
<?php
namespace App\Http\Middleware;
use Closure;
class FrameGuard
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$request->headers->set('X-Frame-Options', 'SAMEORIGIN');
return $next($request);
}
}
这是app/Http/Kernel.php中的中间件堆栈
protected $middleware = [
CheckForMaintenanceMode::class,
Middleware\EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
ShareErrorsFromSession::class,
Middleware\AccessControlAllowOrigin::class,
FrameGuard::class,
];
删除FrameGuard::class
时,一切正常,但是添加FrameGuard::class
时,会导致上述错误。此外,当我在堆栈中保留FrameGuard::class
并注释掉$request->headers->set('X-Frame-Options','SAMEORIGIN')
在FrameGuard
中间件类中,我得到了相同的错误
是否有其他人遇到过类似的情况,或者我是否打算以错误的方式添加此标题?这很奇怪,但是,我想知道为什么您没有在它上设置名称间隔
\App\Http\Middleware\FrameGuard::class
?@revo没有必要命名FrameGuard::class
,因为Kernel.php
已经在\App\Http\Middleware
名称空间内。Kernel.php
名称空间是App\Http
而不是默认情况下,MySqlGrammar错误与Http响应头有什么关系?你能显示更多的堆栈跟踪吗?
protected $middleware = [
CheckForMaintenanceMode::class,
Middleware\EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
ShareErrorsFromSession::class,
Middleware\AccessControlAllowOrigin::class,
FrameGuard::class,
];