php local跨域,PHP实现跨域解决办法

这两天,项目上遇到了如何解决跨域问题.对于跨域.百度了一下也是很快解决.出于对跨域的不了解,也是通过查资料了解了一下.现在做个总结.

首先,需要明白什么是跨域?

跨域

跨域是因为浏览器的同源策略引起的,说白了就是指从一个域的网页去请求另一个域的资源.比方说从你家去我家拿个东西.你肯定不让啊.那么什么是同源策略?

同源

URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。相反,只要协议,域名,端口有任何一个的不同,就被当作是跨域。

同源策略

浏览器采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本。

因为跨域.我们更加安全的上网. 😆 但往往凡事有利有弊.所以,才有了本文.

本文通过设置Access-Control-Allow-Origin来实现跨域。

允许单个域名访问

指定某域名(http://shiniaan1997.cn)跨域访问,则只需在需要访问的文件头部添加如下代码:

header('Access-Control-Allow-Origin:http://shiniaan1997.cn');

允许多个域名访问

指定多个域名跨域访问,则只需在访问的文件头部添加如下代码:

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

$allow_origin = array(

'http://shiniaan1997.cn',

http://test.shiniaan1997.cn

);

if(in_array($origin, $allow_origin)){

header('Access-Control-Allow-Origin:'.$origin);

}

3、允许所有域名访问

允许所有域名访问则只需在访问的文件头部添加如下代码:

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

// // 响应类型

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

// 响应头设置

header('Access-Control-Allow-Headers:x-requested-with,content-type');

0

0

vote

Article Rating

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值