tp5.0.24跨域问题,允许指定域名跨域访问还有token最终版本

public /index.php文件下处理

//处理跨域Options预检请求
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
   
    $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
    $allow_origin = [
        'http://127.0.0.1:5500',
        'http://127.0.0.1:5501',
        'http://127.0.0.1:5502',
    ];
    if (in_array($origin, $allow_origin)) {
   
        //允许的源域名
        header('Access-Control-Allow-Origin:' . $origin);
        //允许的请求头信息
        header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
        //允许的请求类型
        header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
    }
    exit;
}

第二步,处理正常请求的跨域

在基础控制器中加入如下代码即可

    //控制器的初始化方法
    protected function _initialize()
    {
   
        parent::_initialize();
        $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
        $allow_origin = [
            'http://127.0.0.1:5500',
            'http://127.0.0.1:5501',
            'http://127.0.0.1:5502',
        ];
        if (in_array($origin, $allow_origin)) {
   
            //允许的源域名
            header('Access-Control-Allow-Origin:' . $origin);
            //允许的请求头信息
            header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
            //允许的请求类型
            header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
        }

    }

一般我是允许所有的域名访问

线上也是

        //允许的源域名
        header("Access-Control-Allow-Origin: *");
        //允许的请求头信息
        header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
        //允许的请求类型
        header
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值