2023-08-05 分类: 网站建设
PHP解决跨域问题
在做项目的过程中经常需要跨域访问。这里主要介绍一下 PHP 中怎么解决跨域问题。
1、允许所有域名访问
header('Access-Control-Allow-Origin: *');
2、允许单个域名访问
header('Access-Control-Allow-Origin: https://test.com');
3、允许多个域名访问
在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。
// 设置能访问的域名
staticpublic$originarr= [
'https://test1.com',
'https://test2.com',
];
/**
* 公共方法调用
*/
staticpublicfunctionsetheader()
{
// 获取当前跨域域名
$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');
}
}
==========
下面创新互联实例介绍
phpkuayu.php
<?php
header('Access-Control-Allow-Origin: https://www.xwcx.net'); //允许单个域名访问
header('Content-Type:application/json; charset=utf-8');
$arr = array('a'=>1,'b'=>2);
exit(json_encode($arr));
---
qingqiu-phpkuayu.php
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(function(){
$.get('https://www.cdcxhl.com/phpkuayu.php',function(data){
console.log(data);
})
})
</script>
分享文章:php跨域请求怎么解决?
文章转载:https://www.cdcxhl.com/news33/274833.html
成都网站建设公司_创新互联,为您提供网站导航、移动网站建设、网站内链、电子商务、虚拟主机、品牌网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容