如何在 laravel 项目中设置 X-Frame-Options?

How to set X-Frame-Options in laravel project?

我想防止我的网站受到 clickJacking 攻击。在哪个文件中以及在何处设置 X-Frame-Options 以防止 clickJacking 攻击。

你有两种方法:

  • 在反向代理中设置它,例如 Nginx
add_header X-Frame-Options "SAMEORIGIN";
  • 使用 Laravel 中间件 Illuminate\Http\Middleware\FrameGuard 到您要保护的路由上。
<?php

namespace Illuminate\Http\Middleware;

use Closure;

class FrameGuard
{
    /**
     * Handle the given request and get the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);

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

        return $response;
    }
}