fruitcake/php-cors
是一个用于处理 CORS(跨域资源共享)请求的 PHP 库。与 Laravel 的 fruitcake/laravel-cors
不同,fruitcake/php-cors
是一个更通用的库,可以在任意 PHP 应用程序中使用。
fruitcake/php-cors
首先,你需要通过 Composer 安装该库。运行以下命令:
composer require fruitcake/php-cors
接下来,我会展示一个基本的示例,说明如何在一个简单的 PHP 应用程序中使用 fruitcake/php-cors
。
首先,你需要引入 Composer 的自动加载程序,然后设置 CORS。示例代码如下:
<?php require 'vendor/autoload.php'; use Fruitcake\Cors\Cors; $cors = new Cors( // CORS 配置 [ 'paths' => ['api/*'], // 允许的路径 'allowed_methods' => ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], // 允许的方法 'allowed_origins' => ['*'], // 允许的来源(你可以替换为具体的域名) 'allowed_headers' => ['*'], // 允许的请求头 'exposed_headers' => [], 'max_age' => 3600, // 缓存时间 'supports_credentials' => true, ] ); // 处理请求 $cors->handle($_SERVER['REQUEST_METHOD'], $_SERVER['HTTP_ORIGIN'] ?? '*'); header("Access-Control-Allow-Origin: " . implode(',', $cors->getAllowedOrigins())); header('Access-Control-Allow-Methods: ' . implode(',', $cors->getAllowedMethods())); header('Access-Control-Allow-Headers: ' . implode(',', $cors->getAllowedHeaders())); if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { // 如果是预检请求,则直接返回 exit(0); } // 继续处理你的请求逻辑 echo json_encode(['message' => 'CORS is enabled for this endpoint.']); ?>
Cors
类的构造函数中,你可以定义许多属性,比如 paths
(允许的路径)、allowed_methods
(允许的 HTTP 方法)、allowed_origins
(允许的域名)等。handle
方法用于处理进入的请求,根据请求方法和头部进行 CORS 处理。OPTIONS
请求(预检请求)来确认服务器是否允许跨域请求。代码中包含了对 OPTIONS
请求的处理。allowed_origins
设置为具体的本地域名,而不是 *
,以避免潜在的安全问题。在生产环境中,最好指定允许的来源。标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。