美文网首页
php解决跨域2022-07-18

php解决跨域2022-07-18

作者: 阿然学编程 | 来源:发表于2023-07-19 10:37 被阅读0次
/**
 * 设置允许跨域请求
 * @param array $allowedOrigins
 */
function handle_cors(array $allowedOrigins = array())
{
    // 设置跨域请求头
    $allowedHeaders = [
        'Accept', 'Accept-Encoding', 'Accept-Language', 'Access-Token', 'Origin', 'Cookie',
        'Content-Type', 'X-Requested-With', 'Authorization', 'Content-Length', 'Keep-Alive',
        'Connection', 'User-Agent', 'X-CSRF-Token', 'Cache-Control', 'Pragma', 'X-Mx-ReqToken',
        'Token'
    ];

    // 判断当前请求的来源是否在白名单中
    $http_origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
    $origin = in_array($http_origin, $allowedOrigins) ? $http_origin : '*';

    // 设置其他允许的跨域请求头和方法
    header('Access-Control-Allow-Origin: ' . $origin);
    header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
    header('Access-Control-Allow-Headers: ' . implode(', ', $allowedHeaders));
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 7200'); // 预检请求的缓存时间,单位为秒

    // 判断请求方法是否为 OPTIONS
    if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
        exit();
    }
}
  • 使用示例
// 示例用法:在需要处理跨域的地方调用此函数
handle_cors();
// 在处理跨域请求之前调用 handleCors 函数
handle_cors(['http://example1.com', 'http://example2.com']);

相关文章

  • php解决跨域访问

    php跨域问题解决判断 参考文章:php跨域:https://blog.csdn.net/ouxiaoxian/a...

  • PHP后台代码解决跨域问题

    PHP后台代码解决跨域问题 在前端里面,解决跨域的时候总显得那么的恶心,什么jsonp啊,ajax啊,CORS啊什...

  • AnugularJS 的跨域

    通过 php 桥接跨域 实际上并非跨域,用 Php 文件引入进来,同源下执行 Php 文件,所以并非跨域 $htt...

  • 前后端完全开发问题

    php 解决跨域问题 header('Access-Control-Allow-Origin:http://www...

  • PHP Ajax 跨域问题最佳解决方案

    PHP Ajax 跨域问题最佳解决方案 本文通过设置Access-Control-Allow-Origin来实现跨...

  • php ajax跨域访问

    PHP Ajax 跨域问题最佳解决方案 本文通过设置Access-Control-Allow-Origin来实现跨...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • 解决ajax跨域问题

    Jsonp解决ajax跨域问题 CORS解决ajax跨域问题

  • 浏览器跨域及其解决方案

    title: 浏览器跨域及其解决方案author: Maydate: 20220428 什么是跨域跨域的表现解决跨...

  • php解决ajax跨域

    PHP后台配置PHP后台得配置几乎是所有后台中最为简单的,遵循如下步骤即可: 第一步:配置Php 后台允许跨域 第...

网友评论

      本文标题:php解决跨域2022-07-18

      本文链接:https://www.haomeiwen.com/subject/wwtdirtx.html