禁用 FastAdmin 跨域检测

Php   2025-12-03 16:17   65   0  

方法 1:注释跨域检测函数

找到 /www/wwwroot/your_project/thinkphp/helper.php 文件,将跨域检测代码注释掉:

// 注释掉这行
// check_cors_request();

方法 2:修改控制器权限

在具体的 API 控制器中设置不需要登录验证:

<?php
namespace app\api\controller;

use app\common\controller\Api;

class YourController extends Api
{
    // 设置不需要登录的方法
    protected $noNeedLogin = ['*'];
    // 设置不需要权限的方法  
    protected $noNeedRight = ['*'];

    public function lists()
    {
        // 你的业务代码...
    }
}

方法 3:在公共文件中全局处理

修改 /www/wwwroot/your_project/thinkphp/start.php

// 在文件开头添加
if (strpos($_SERVER['REQUEST_URI'] ?? '', '/api/') !== false) {
    header("Access-Control-Allow-Origin: https://your-frontend-domain.com");
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
    header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, Cache-Control");

    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
        http_response_code(200);
        exit();
    }
}