配置接口允许跨域请求 并携带cookie

在和前端对接的过程中,后端的接口一般会直接配置在测试环境上,而前端一般在本地进行开发,由此会带来跨域请求的问题。

通常需要后端配合,配置允许接口被跨域请求,现在比较好的做法是使用 CORS(跨域资源共享)

如何使用:


在响应头中加入以下代码

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header("Access-Control-Allow-Credentials: true");
if(isset($_SERVER['HTTP_ORIGIN'])){
    $http_origin = $_SERVER['HTTP_ORIGIN'];
    header("Access-Control-Allow-Origin: $http_origin");
}
注意:Access-Control-Allow-Credentials: true是允许浏览器携带cookie,但设置了这个属性后,Access-Control-Allow-Origin必须设置为一个固定的地址,而不能使用 * PHP可以通过$_SERVER['HTTP_ORIGIN']获取到请求的原始地址,从而允许任意地址的跨域请求。

发表评论

电子邮件地址不会被公开。 必填项已用*标注