lithemod / cors
为您的 Lithe 应用程序配置跨源资源共享 (CORS) 头。
v1.0.0
2024-10-02 10:51 UTC
Requires
- php: ^8.0
- lithemod/flow: ^1.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2024-10-02 11:02:08 UTC
README
在 Lithe 中,CORS (跨源资源共享) 中间件配置 CORS 头,以允许或限制来自不同来源对资源的访问。
安装 CORS 模块
要在您的 Lithe 项目中使用 CORS 中间件,您需要安装 lithemod/cors
包。按照以下步骤操作
-
确保您已安装 Composer。Composer 是 PHP 的依赖管理工具。
-
打开您的终端 并导航到您的 Lithe 项目目录。
-
运行以下命令以安装模块:
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 请求以支持预检请求。