Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php get跨域请求(php cors跨域)

作者:花折亦无情   发布日期:2025-04-26   浏览:619

在PHP中使用CORS(跨源资源共享)来实现跨域请求可以通过设置响应头来实现。以下是一个基本的示例:

<?php
// 允许跨域请求的域名
$allowedOrigins = array(
    'http://example.com',
    'https://example.com'
);

// 检查请求头中的Origin是否在允许的域名列表中
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
if (in_array($origin, $allowedOrigins)) {
    // 设置允许的域名
    header('Access-Control-Allow-Origin: ' . $origin);
}

// 允许的请求方法
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');

// 允许的请求头
header('Access-Control-Allow-Headers: Content-Type');

// 允许携带Cookie
header('Access-Control-Allow-Credentials: true');

// 处理预检请求
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    // 设置响应头,告诉浏览器允许的请求方法和请求头
    header('Access-Control-Max-Age: 86400');
    header('Content-Length: 0');
    header('Content-Type: text/plain');
    exit();
}

// 处理实际的请求
// ...
?>

在上述示例中,首先定义了允许跨域请求的域名列表$allowedOrigins,然后检查请求头中的Origin是否在允许的域名列表中,如果是,则设置Access-Control-Allow-Origin响应头为请求头中的Origin值。

然后设置允许的请求方法Access-Control-Allow-Methods为GET、POST和OPTIONS。

接下来设置允许的请求头Access-Control-Allow-Headers为Content-Type。

最后设置允许携带CookieAccess-Control-Allow-Credentials为true。

如果收到的请求是一个预检请求(OPTIONS方法),则设置响应头,告诉浏览器允许的请求方法和请求头,并退出。

在处理实际的请求时,可以根据具体的业务逻辑进行处理。

请注意,CORS只适用于浏览器发起的跨域请求,不适用于其他类型的跨域请求,如服务器间的通信。

上一篇:php tp 字符隐藏

下一篇:php函数传入数组参数吗?(php 传参数)

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站