首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP解决跨域问题

PHP解决跨域问题

作者头像
友儿
发布2022-09-11 12:06:00
发布2022-09-11 12:06:00
1.2K0
举报
文章被收录于专栏:友儿友儿

浏览器的同源策略,就是出于安全考虑,浏览器会限制从脚本发起的跨域HTTP请求。

解决办法:

代码语言:javascript
复制
header("Access-Control-Allow-Origin: *");//当前跨域域名 * 全部
header("Access-Control-Allow-Methods: GET,POST,PUT,DELETE");// 响应类型
header("Access-Control-Max-Age: 3628800");//Access-Control-Max-Age用来指定本次预检请求的有效期,单位为秒,,在此期间不用发出另一条预检请求。

或者可以限制跨域的域名

代码语言:javascript
复制
// 设置能访问的域名
static public $originarr = [
   'https://test1.com',
   'https://test2.com',
];
 
/**
 *  公共方法调用
 */
static public function setheader()
{
   // 获取当前跨域域名
   $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
   if (in_array($origin, self::$originarr)) {
      // 允许 $originarr 数组内的 域名跨域访问
      header('Access-Control-Allow-Origin:' . $origin);
      // 响应类型
      header('Access-Control-Allow-Methods:POST,GET');
      // 带 cookie 的跨域访问
      header('Access-Control-Allow-Credentials: true');
      // 响应头设置
      header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
   }
}

相关文章

设置ajax 跨域携带cookie请求

前端ajax请求:$.ajax({ type: "POST", ...

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档