lithemod/cors

为您的 Lithe 应用程序配置跨源资源共享 (CORS) 头。

v1.0.0 2024-10-02 10:51 UTC

This package is auto-updated.

Last update: 2024-10-02 11:02:08 UTC


README

在 Lithe 中,CORS (跨源资源共享) 中间件配置 CORS 头,以允许或限制来自不同来源对资源的访问。

安装 CORS 模块

要在您的 Lithe 项目中使用 CORS 中间件,您需要安装 lithemod/cors 包。按照以下步骤操作

  1. 确保您已安装 Composer。Composer 是 PHP 的依赖管理工具。

  2. 打开您的终端 并导航到您的 Lithe 项目目录。

  3. 运行以下命令以安装模块:

    composer require lithemod/cors

    这将下载并安装 CORS 模块到您的项目中,并自动注册任何必要的依赖。

使用 CORS 中间件

在 Lithe 中的 CORS 中间件负责配置跨源资源共享头,允许或限制来自不同来源对应用程序资源的访问。要在应用程序中配置它,请使用 use() 方法添加它

use Lithe\Middleware\Configuration\cors;

$app->use(cors());

配置 CORS 中间件

CORS 中间件可以使用以下参数进行配置

  • origins:允许访问您的资源的来源。它可以是字符串或字符串数组。默认值为 '*'(任何来源)。
  • methods:允许的 HTTP 方法。默认值为 'GET, POST, OPTIONS'
  • headers:允许的头部。它可以是字符串或字符串数组。默认值为 'Origin, X-Requested-With, Content-Type, Accept'
  • credentials:指示是否允许凭据(如 cookies 或授权头)。默认值为 true
  • maxAge:缓存预检请求结果的秒数。默认值为 null

示例配置

$app->use(cors([
    'origins' => ['https://example.com', 'https://another.com'],
    'methods' => 'GET, POST, PUT, DELETE, OPTIONS',
    'headers' => ['Content-Type', 'Authorization'],
    'credentials' => true,
    'maxAge' => 86400,
]));

中间件行为

  • 允许的来源:中间件将 Access-Control-Allow-Origin 头设置为允许的来源。
  • 允许的方法:使用允许的 HTTP 方法设置 Access-Control-Allow-Methods 头。
  • 允许的头部:使用允许的头部设置 Access-Control-Allow-Headers 头。
  • 凭据:将 Access-Control-Allow-Credentials 头设置为允许凭据,如果配置为 true
  • 缓存持续时间:设置 Access-Control-Max-Age 头以指定预检请求的缓存持续时间。
  • 处理 OPTIONS 请求:中间件通过返回 200 OK 状态并终止响应来处理 OPTIONS(预检)请求。

注意事项

  • 特定来源:如果您指定了具体的来源,只有那些来源才能访问您的资源。
  • HTTP 方法和头部:根据应用程序的需求配置方法和头部,以确保安全性和兼容性。
  • 预检请求:中间件确保正确处理 OPTIONS 请求以支持预检请求。