手记

php 跨域问题

  • 跨域请求设置 /
    function checkAllowOrigin()
    { //从配置文件获取允许源域名
    $allowOrigin = explode(’,’, env(‘app.allow_origin’)); if (in_array(’
    ’, $allowOrigin)) { $origin = ‘*’; $allow = true;
    } else { $origin = request()->header(‘Origin’) ?? request()->domain(); allow=inarray(allow = in_array(allow=inarray(origin, KaTeX parse error: Expected 'EOF', got '}' at position 16: allowOrigin); }̲ if (!allow) { exit(‘403’);
    } //允许跨域的来源域名
    header(‘Access-Control-Allow-Origin:’.$origin); header(‘Access-Control-Allow-Methods: GET, POST, OPTIONS’);//允许跨域的请求方法
    // 带 cookie 的跨域访问
    header(‘Access-Control-Allow-Credentials: true’); // 响应头设置(允许跨域的头部)
    header(‘Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token,Access-Token’);
    }

四点:

1.允许跨域的来源域名

2.允许跨域的请求方法

3.允许带 cookie 的跨域访问(不允许改为false)

4.允许跨域的头部(记得把自定义的header头也写进去,不然跨域会不成功)

特别要注意的是3和4点。比如第4点的Access-Token,我们项目自定义的,忘了加。在有用户登陆的时候,就一直无法跨域。

作者:会飞的鹏
来源:https://www.cnblogs.com/hfdp/p/14654952.html

0人推荐
随时随地看视频
慕课网APP