主攻帝国 全栈为辅

php多终端跨域策略允许多个域名发起post跨域请求带cookie

同个顶级域名,多个站点共享cookie,可以向主站发送post请求,可携带cookie

需求描述

网站跨域访问出现

as been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

现在网站http://www.sjmboan.com电脑站,手机站http://m.sjmoban.com.其中电脑站是主站,负责所有数据的处理,登录等操作,手机站只生成静态html文件。因为用户中心以及一些动态访问的,可以依赖php的ua进行判断,所以手机端只要生成静态文件即可。手机站所有的用户验证,数据操作等都向主站电脑端发送post或Get请求。

操作原理

  1. 设置cookie作用域为sjmoban.com。这样它的其它子域名cookie均可生效。

  2. php设置Access-Control-Allow-Origin等,截图代码如下:

  3. 客户端ajax请求改写,需要携带参数如下图:


    特别注意:如果请求的地址有问题,如不存在,500错误等,也会出现跨域错误问题。

  4. as been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.