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

1、允许所有域名访问

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

2、允许单个域名访问

header('Access-Control-Allow-Origin: https://test.com');

3、允许多个域名访问

  • 在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。
// 设置能访问的域名
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');
}
}

最新文章

  1. SharePoint 2013 定制搜索显示模板(二)
  2. EasyUI分页
  3. asp.net(C#)页面事件顺序
  4. finla变量,方法和类
  5. repo: 创建local manifest以及如何添加app到CM/Android build系统中
  6. 修改DevExpress中英文提示,将英文改为中文
  7. Error Creating Deployment 有关Tomcat配置问题
  8. expected function body after function declarator
  9. Protel99se轻松入门:一些高级设置和常用技巧
  10. 字符设备驱动[深入]:linux cdev详解
  11. .Net程序员学用Oracle系列(19):我知道的导出和导入
  12. static,final,包,访问修饰符,内部类
  13. nginx实现动态/静态文件缓存(week4_day1_part2)-技术流ken
  14. .net 4.0 中的特性总结(四):Tuple类型
  15. CentOS7 yum 安装与配置MySQL5.7
  16. Win10 calc.exe 无法打开计算器的解决方法
  17. AIX安装JDK1.7教程
  18. (转)python类:magic魔术方法
  19. Android提交数据到服务器的两种方式四种方法
  20. 修改Python IDLE代码配色及语法高亮主题

热门文章

  1. http状态码汇总及代表意思
  2. js数组插入指定位置元素,删除指定位置元素,查找指定位置元素算法
  3. iPython与notebook的基本用法
  4. Mirco F-measure and Macro F-measure
  5. ElasticSearch索引快照
  6. python大数据
  7. javascript typeof()的用法与运算符用法
  8. cropperjs的高度过大(container height too much)
  9. 【2017-06-06】Qt中的键盘事件:QKeyEvent及相关处理函数
  10. OA环境搭建及卸载操作帮助文档