首頁 > 後端開發 > php教程 > php cookie如何跨域?

php cookie如何跨域?

WBOY
發布: 2016-06-23 14:13:59
原創
1306 人瀏覽過

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。


再次感谢 。

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板