Home >Backend Development >PHP Tutorial >php cookie如何跨域?

php cookie如何跨域?

WBOY
WBOYOriginal
2016-06-23 14:13:591309browse

php COOKI 跨域



求高手指导一下。如何操作。


另外详细讲解一下php setcookie中的  域   的参数 要求,及问题


比如:setcookie("name","value",time()+3600,"path","domain","http");


期中的domian的要求。比如: 我有两个网站 demo.xx.com  admin.xx.com   这种,如何设置domain.


.xx.com这种方式,还是,怎么样,求高手指导。



回复讨论(解决方案)

setcookie("name","value",time()+3600,"/","xx.com");

setcookie("name","value",time()+3600,"/","xx.com");

这个样子可行吗。可以  跨域吗?有测试过吗/

可不可以,请自己测试

可不可以,请自己测试

OK ,我测试一下。

cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。。如何弄。

可不可以,请自己测试



我测试了,不行。。    hms.org.cn.这样设置的,然后,在xxx.hms.org.cn这个域名可以。

但是,在demo.hms.org.cn无法获取。到COOKIE

引用 5 楼 hellodifa 的回复:cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。。如何弄。
浏览器出于安全的考虑,是不支持a网站向b网站种cookie跨域的,但是如果a和b网站都是你的,是可以支持跨域的,但是需要修改b网站的信息。
网上例子有很多,比如:http://www.nowamagic.net/javascript/js_UseJsonpCrossDomain.php

引用 6 楼 xviphackl 的回复:引用 5 楼 hellodifa 的回复:cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。。如何弄。
浏览器出于安全的考虑,是不支持a网站向b网站种cookie跨域的,但是如……


非常感谢 您给我找的资料,我现在懂起了JSONP的原理了。


我阐述一下我的问题吧,我现在需要做的是 。


A、B两站,  A负责 前台   B负责后台


A站只有一个index.php文件 ,B站是负责整站的处理。 他们处理不同的域名。


我在A登录,B站也要登录(如果直接访问B站可以正常)。

但是,从A站登录,但是,没有登录成功。


我最初的解决方案是使用JS把B站需要COOKIE的值给了A站,A站把登录的值COOKIE但是,还是解决不问题。


我这样说你能理解吗。


引用 6 楼 xviphackl 的回复:引用 5 楼 hellodifa 的回复:cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。。如何弄。
浏览器出于安全的考虑,是不支持a网站向b网站种cookie跨域的,但是如……


纠下一点小小的问题,


是从A站登录 ,提示成功但是,并没有成功。


如果,直接从B站登录  ,可以登录成功。


A站只有一个文件,把需要处理的结果从B抓回来(file_get_contents)放在A站。

引用 8 楼 hellodifa 的回复:引用 6 楼 xviphackl 的回复:引用 5 楼 hellodifa 的回复:cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。。如何弄。
浏览器出于安全的考虑,是不支持……

如果a站已经有b站的cookie了,但是去b站抓取不成功,只可能是去b站抓取的有问题,cookie是否都传了等。。

引用 10 楼 xviphackl 的回复:引用 8 楼 hellodifa 的回复:引用 6 楼 xviphackl 的回复:引用 5 楼 hellodifa 的回复:cookie跨域是需要用到jsonp的。
setcookie("name","value",time()+3600,"/","xx.com")这种不能跨别人的域名上面去的。

如何测试jsonp。。……


嗯,谢谢!!我去检查一下。看年进不是抓取数据的问题。

A站  打印COOKIE   B站也打印COOKIE 


从A站访问登录,B站的COOKIE为空,(按理说2站都已经有COOKIE了从A站访问B站,在B站打印的COOKIE应该可以读取从来域的COOKIE为什么为空。)。

我估计就是因为这个原因吧,,


A站只有一个去抓 取数据。。。B站是具体实现的方法 ,A站有B站登录的COOKIE为什么B站这边获取不到 从A访问B站的A站的COOKIE呢?

按理说,两边COOKIE的域都是设置的一样,为什么不获取不到呢?



A站只有一个去抓 取数据。。。B站是具体实现的方法 ,A站有B站登录的COOKIE为什么B站这边获取不到从A访问B站的A站的COOKIE呢?


A使用的是curl抓取?curl传参cookie进去才行。
a去抓取b的东西,a不传给bcookie的话,b是没法知道a有什么cookie的啊。。



A站只有一个去抓 取数据。。。B站是具体实现的方法 ,A站有B站登录的COOKIE为什么B站这边获取不到从A访问B站的A站的COOKIE呢?


A使用的是curl抓取?curl传参cookie进去才行。
a去抓取b的东西,a不传给bcookie的话,b是没法知道a有什么cookie的啊。。


没有使用CURL去抓取,使用的file_get_contents这个函数,难道这种有关数据交互的必须使用CURL去抓数据?





这是A站访问的,

file_get_contents这个函数就是去一个网站抓取信息,相当于直接在浏览器中输入一个地址去请求,肯定是获取不到你的服务器的cookie。
就好比,你用你自己电脑浏览器访问一个网站,这个网站怎么知道你的电脑的cookie的。

OK ,受教。现在知道哪个环节出了问题,先谢谢。


先弄弄看,回事结账。。。

file_get_contents这个函数就是去一个网站抓取信息,相当于直接在浏览器中输入一个地址去请求,肯定是获取不到你的服务器的cookie。
就好比,你用你自己电脑浏览器访问一个网站,这个网站怎么知道你的电脑的cookie的。

再次送上我的诚意,谢谢。问题解决了。是您说的哪个原因。


file_get_contents 没有把COOKIE的值传递过去。让B站不知道,A站到底是什么COOKIE。


再次感谢 。

我也遇到这个功能问题,不大会,楼主成功了,能给举个简单细致的例子嘛?不胜感激啊~

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn