首页 > 编程知识 正文

php后端控制可跨域的域名,php设置跨域访问

时间:2023-12-27 22:28:05 阅读:327265 作者:BXPV

本文目录一览:

PHP接定义,在顶部设置可跨域访问那段代码,然后直接写方法不可以吗?求大神不吝赐教

可以

header("Content-type:text/html;charset=utf-8");

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

header("Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS");

header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With,Content-Range, Content-Disposition, Content-Description");

header("Access-Control-Allow-Credentials: true");

PHP 设置跨域 域名cookie

理论上php不可以跨域设置cookie;

php设置cookie流程:返回的信息携带信息,然后靠浏览器来执行写入到cookie,一般浏览器安全机制已经限制跨域写入;

如果你想伪造cookie,可以使用浏览器管理cookie的插件

PHP如何实现跨域

因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下:

No

'Access-Control-Allow-Origin'

header

is

present

on

the

requested

resource.

Origin

'null'

is

therefore

not

allowed

access.

这是因为浏览器跨域策略起作用,阻止了跨域的请求。看看HTTP请求过程就知道。第一次请求后端时候,浏览器意识到是访问一个跨与资源,没有直接发送GET请求获取数据,而是发送了一个OPTIONS请求询问是否可以访问该资源。我们称之为Preflight请求,默认因为同源策略的存在,该请求返回的Header中没有'Access-Control-Allow-Origin'属性,所以访问失败。

如果要实现跨域,关键在于服务器,客户端的代码按照正常的方式编写即可。对于服务器,只需要在收到OPTIONS请求的地方,返回的头信息中增加该属性即可,代码如下:

header("Access-Control-Allow-Origin:

*");

注意,一定要在所有信息输出到客户端之前设置。

以上所述是小编给大家介绍的PHP如何实现跨域的相关内容,希望对大家有所帮助!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。