Skip to content

GlobalCorsMiddleware — 全局 CORS 中间件

  • 文件位置: kernel/Middleware/GlobalCorsMiddleware.php
  • 命名空间: kernel\Middleware
  • 继承: extends Foundation\Middleware\MiddlewareBase
  • 是否可继承: 是

全局跨域(CORS)中间件,按 Config::get("cors/*") 配置设置响应头,处理 OPTIONS 预检。

构造

php
new GlobalCorsMiddleware()

方法

方法说明
getOrigin()获取请求来源(HTTP_ORIGIN → HTTP_REFERER → REMOTE_ADDR)
handle($next)设置 CORS 响应头并处理预检

读取的配置

配置键说明
cors/allowOrigin允许来源(* 或逗号分隔列表)
cors/allowHeaders允许请求头(默认 Authorization
cors/exposeHeaders暴露响应头(默认 Authorization
cors/maxAge预检缓存秒数(默认 86400)
cors/sameOrigin同源白名单(开发模式)

使用

php
use kernel\Middleware\GlobalCorsMiddleware;

$middleware = new Middleware();
$middleware->set(GlobalCorsMiddleware::class);
$app->set(["middleware" => $middleware]);