PHP跨域问题解决方法

u_3420295651_2927571495&fm_253&fmt_auto&app_138&f_JPEG

最近在做一款授权系统的时候遇到了跨域的问题,所以决定写一篇文章来讲一讲PHP解决跨域的方法。

作为一名PHP程序员,在做前后端分离时可能会用一个网站去请求另一个网站的资源,那么这时候就会遇到一个问题--跨域。

什么是跨域

跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。

浏览器从一个域名的网页去请求另一个域名的资源时,出现域名、端口、协议任一不同,都属于跨域。

简单来说就是AJAX 请求发送后,结果被浏览器给拦截了

怎么解决

这里解决跨域的办法其实是比较多的,我就只介绍在PHP文件头部设置header来解决。

举个例子:如果A网站要请求B网站的资源,那么我们需要在B网站相应的PHP文件里面根据自己的需求加入下面的代码。

允许单个域名访问

header('Access-Control-Allow-Origin:https://www.bcdog.cn');

不限制域名

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

这个是不安全的,建议限制一个域名可以访问。

设置请求方式

header('Access-Control-Allow-Methods:POST');//表示只允许POST请求

把POST改为*就是允许所有的请求方式。

请求头限制

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

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片