📅  最后修改于: 2023-12-03 15:02:35.923000             🧑  作者: Mango
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 应用更加安全和灵活。在使用过程中,需要注意对应的配置,否则可能会遇到一些问题。