📜  laravel 中的 cors 是什么 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:35.923000             🧑  作者: Mango

Laravel 中的 CORS 是什么

CORS (Cross-Origin Resource Sharing) 是一个浏览器的安全机制,保护了网站免受跨域攻击。

Laravel 中的 CORS 是一个中间件(Middleware),它可以帮助你为你的应用开启 CORS。

CORS 中间件

在 Laravel 中使用 CORS 中间件十分简单,只需要在 Route 或 Controller 中使用即可。在 Route 中使用:

Route::get('/api', function () {
    //
})->middleware('cors');

在 Controller 中使用:

public function index()
{
    // 
}

public function __construct()
{
    $this->middleware('cors');
}

在以上几行代码中,我们可以很清楚地看到 middleware('cors') 的使用。

配置

Laravel 的 CORS 中间件默认允许所有的请求,你可以通过以下方式来修改中间件的配置:

// 设置允许跨域访问的源
\Cors::setAllowedOrigins(['example.com']);

// 设置允许使用的 HTTP 动词
\Cors::setAllowedMethods(['GET', 'POST']);

// 设置允许的请求头
\Cors::setAllowedHeaders(['X-Custom-Header']);

// 设置允许的响应头
\Cors::setExposedHeaders(['X-Custom-Header']);

// 设置是否允许携带凭证
\Cors::setAllowCredentials(true);

// 设置 OPTIONS 请求的缓存时间
\Cors::setPreflightMaxAge(3600);

// 配置现在生效
\Cors::apply();

以上代码中的注释已经很清楚地说明了每个配置项的作用。

结论

CORS 中间件是一个非常实用的工具,可以让你的 Laravel 应用更加安全和灵活。在使用过程中,需要注意对应的配置,否则可能会遇到一些问题。