美文网首页PHP
php设置跨域问题

php设置跨域问题

作者: codinger | 来源:发表于2017-06-05 16:44 被阅读2209次

php设置跨域问题

这段世界使用php写了一些接口来提供给Vue.js 项目学习开发使用,写好的接口只想自己指定的域名下能够访问、所以需要怎么去做呢?

为什么会跨域、造成跨域的原因是什么

浏览器的同源策略是浏览器为安全性考虑实施的非常重要的安全策略,从一个域上加载的脚本就不能去访问另外一个域下的文档,所以就会出现下面提示不能跨域问题

XMLHttpRequest cannot load https://api.it919.cn/public/index.php/api/News/new_detail?postid=CM5VQ6UE0001899N. The 'Access-Control-Allow-Origin' header has a value 'https://code.it919.cn' that is not equal to the supplied origin. Origin 'http://192.168.1.2:800' is therefore not allowed access.

1、允许单个域名访问,也就是指定某个域名能跨域请求php接口

header('content-type:application:json;charset=utf8');  
header('Access-Control-Allow-Origin:https://code.it919.cn');
header('Access-Control-Allow-Methods:*');  
header('Access-Control-Allow-Headers:x-requested-with,content-type'); 

主要设置的还是
header('Access-Control-Allow-Origin:https://code.it919.cn');将其设置为自己跨域的域名,如果允许全部访问的话 设置 *

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

ok这样就能够 访问接口数据不跨域了

2、允许多个域名能够跨域访问接口数据
指定多个域名(https://code.it919.cnhttp://www.it919.cn)跨域访问,这样的话就配置一个数组包含允许跨域的域名载这里面

$allow_origin = array(  
    'https://code.it919.cn',
    'http://www.it919.cn'  
);  

获取需要访问接口数据的域名

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  

判断该域名是否是在我们定义好的数组里面

if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
} 

相关文章

  • php设置跨域问题

    php设置跨域问题 这段世界使用php写了一些接口来提供给Vue.js 项目学习开发使用,写好的接口只想自己指定的...

  • PHP Ajax 跨域问题最佳解决方案

    PHP Ajax 跨域问题最佳解决方案 本文通过设置Access-Control-Allow-Origin来实现跨...

  • php ajax跨域访问

    PHP Ajax 跨域问题最佳解决方案 本文通过设置Access-Control-Allow-Origin来实现跨...

  • C# Web直接上传视频或者文件到OSS

    代码 解决本地调试跨域问题 设置跨域规则:找到OSS存储——Bucket列表——基础设置——跨域访问——设置 暴露...

  • php解决跨域访问

    php跨域问题解决判断 参考文章:php跨域:https://blog.csdn.net/ouxiaoxian/a...

  • 2018-12-11

    spring security 的跨域问题 spring security跨域设置 在spring-sercuri...

  • AnugularJS 的跨域

    通过 php 桥接跨域 实际上并非跨域,用 Php 文件引入进来,同源下执行 Php 文件,所以并非跨域 $htt...

  • 开发中的一些小事

    跨域 问题描述:php程序部署到nginx服务器,前端调用API报出跨域问题(200时没问题,422时出现此问题)...

  • drf+xadmin电商平台 vue展示商品分类数据

    一 drf+vue 解决跨域问题 1.前端代理设置 2.服务器设置 设置django来解决跨域问题 3.在gith...

  • 新增-后端跨域

    前端程序 后端程序 现在请求无法,到达需要解决跨域问题 每个servlet单独做跨域设置 跨域过滤器

网友评论

    本文标题:php设置跨域问题

    本文链接:https://www.haomeiwen.com/subject/kozifxtx.html