asm89/stack-cors
Composer 安装命令:
composer require asm89/stack-cors
包简介
Cross-origin resource sharing library and stack middleware
README 文档
README
Library and middleware enabling cross-origin resource sharing for your http-{foundation,kernel} using application. It attempts to implement the W3C Recommendation for cross-origin resource sharing.
Installation
Require asm89/stack-cors using composer.
Usage
This package can be used as a library or as stack middleware.
Options
| Option | Description | Default value |
|---|---|---|
allowedMethods |
Matches the request method. | [] |
allowedOrigins |
Matches the request origin. | [] |
allowedOriginsPatterns |
Matches the request origin with preg_match. |
[] |
allowedHeaders |
Sets the Access-Control-Allow-Headers response header. | [] |
exposedHeaders |
Sets the Access-Control-Expose-Headers response header. | false |
maxAge |
Sets the Access-Control-Max-Age response header. Set to null to omit the header/use browser default. |
0 |
supportsCredentials |
Sets the Access-Control-Allow-Credentials header. | false |
The allowedMethods and allowedHeaders options are case-insensitive.
You don't need to provide both allowedOrigins and allowedOriginsPatterns. If one of the strings passed matches, it is considered a valid origin.
If ['*'] is provided to allowedMethods, allowedOrigins or allowedHeaders all methods / origins / headers are allowed.
If supportsCredentials is true, you must explicitly set allowedHeaders for any headers which are not CORS safelisted.
Example: using the library
<?php use Asm89\Stack\CorsService; $cors = new CorsService([ 'allowedHeaders' => ['x-allowed-header', 'x-other-allowed-header'], 'allowedMethods' => ['DELETE', 'GET', 'POST', 'PUT'], 'allowedOrigins' => ['http://localhost'], 'allowedOriginsPatterns' => ['/localhost:\d/'], 'exposedHeaders' => false, 'maxAge' => 600, 'supportsCredentials' => true, ]); $cors->addActualRequestHeaders(Response $response, $origin); $cors->handlePreflightRequest(Request $request); $cors->isActualRequestAllowed(Request $request); $cors->isCorsRequest(Request $request); $cors->isPreflightRequest(Request $request);
Example: using the stack middleware
<?php use Asm89\Stack\Cors; $app = new Cors($app, [ // you can use ['*'] to allow any headers 'allowedHeaders' => ['x-allowed-header', 'x-other-allowed-header'], // you can use ['*'] to allow any methods 'allowedMethods' => ['DELETE', 'GET', 'POST', 'PUT'], // you can use ['*'] to allow requests from any origin 'allowedOrigins' => ['localhost'], // you can enter regexes that are matched to the origin request header 'allowedOriginsPatterns' => ['/localhost:\d/'], 'exposedHeaders' => false, 'maxAge' => 600, 'supportsCredentials' => false, ]);
asm89/stack-cors 适用场景与选型建议
asm89/stack-cors 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 185.91M 次下载、GitHub Stars 达 1.28k, 最近一次更新时间为 2013 年 08 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「cors」 「stack」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 asm89/stack-cors 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 asm89/stack-cors 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 asm89/stack-cors 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Development and debugging tools for Recoil applications.
Allows multi origin HTTP requests (CORS) supports
A simple proxy service for performing cross-domain AJAX requests.
RESTful API server for structured and self-documenting resources over JSON, XML, ...
Cross-origin resource sharing (CORS). Add CORS middleware for Lumen micro-framework
统计信息
- 总下载量: 185.91M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1281
- 点击次数: 25
- 依赖项目数: 22
- 推荐数: 15
其他信息
- 授权协议: MIT
- 更新时间: 2013-08-14