1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 跨域问题 php 解决办法

跨域问题 php 解决办法

时间:2021-11-16 23:53:11

相关推荐

跨域问题 php 解决办法

在做项目的过程中经常需要跨域访问。这里主要介绍一下 PHP 中怎么解决跨域问题。

1、 在php文档头部

1.1、允许所有域名访问

header('Access-Control-Allow-Origin: *');

1.2、允许单个域名访问

header('Access-Control-Allow-Origin: ');

1.3、允许多个域名访问

在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。

// 设置能访问的域名static public $originarr = ['','',]; /*** 公共方法调用*/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');}}

或者是

// 允许 $originarr 数组内的 域名跨域访问header('Access-Control-Allow-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');

2、js请求时用jsonp

3、vue正式请求前会模拟请求一边接口,第一遍接口没有任何参数(包括token)

系统报错的400、403或者500导致vue无法进行第二次正式访问

4、使用反向代理映射到同一个域名下面

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。