|
在做项目的过程中经常需要跨域访问。这里主要介绍一下 PHP 中怎么解决跨域问题。
1、允许所有域名访问
('Access-Control-Allow-Origin: *');
2、允许单个域名访问
('Access-Control-Allow-Origin: https://test.com');
3、允许多个域名访问
- 在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。
='https://test1.com','https://test2.com',<span style="color: #008000">/<span style="color: #008000">
- 公共方法调用
<span style="color: #008000">*/
<span style="color: #0000ff">static <span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> setheader()
{
<span style="color: #008000">//<span style="color: #008000"> 获取当前跨域域名
<span style="color: #800080">$origin = <span style="color: #0000ff">isset(<span style="color: #800080">$_SERVER['HTTP_ORIGIN']) ? <span style="color: #800080">$_SERVER['HTTP_ORIGIN'] : ''<span style="color: #000000">;
<span style="color: #0000ff">if (<span style="color: #008080">in_array(<span style="color: #800080">$origin,self::<span style="color: #800080">$originarr<span style="color: #000000">)) {
<span style="color: #008000">//<span style="color: #008000"> 允许 $originarr 数组内的 域名跨域访问
<span style="color: #008080">header('Access-Control-Allow-Origin:' . <span style="color: #800080">$origin<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000"> 响应类型
<span style="color: #008080">header('Access-Control-Allow-Methods:POST,GET'<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000"> 带 cookie 的跨域访问
<span style="color: #008080">header('Access-Control-Allow-Credentials: true'<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000"> 响应头设置
<span style="color: #008080">header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token'<span style="color: #000000">);
}
}
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|