我的Java路上那些事儿
快乐成长
posts - 110, comments - 101, trackbacks - 0, articles - 7
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
摘抄: Cookie跨域操作
Posted on 2011-04-07 11:57
云云
阅读(3636)
评论(2)
编辑
收藏
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1
.可在同一应用服务器内共享方法:设置cookie.setPath(
"
/
"
);
本机tomcat
/
webapp下面有两个应用:cas和webapp_b,
1
)原来在cas下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2
)若在cas下面设置cookie的时候,增加一条cookie.setPath(
"
/
"
);或者cookie.setPath(
"
/webapp_b/
"
);就可以在webapp_b下面获取到cas设置的cookie了。
3
)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath(
"
/
"
);之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath(
"
/webapp_b/
"
);是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的cas应用也不可以。
4
)设置cookie.setPath(
"
/webapp_b/jsp
"
)或者cookie.setPath(
"
/webapp_b/jsp/
"
)的时候,只有在webapp_b
/
jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5
)设置cookie.setPath(
"
/webapp_b
"
);,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用cas下面获取cookie了
6
)有多条cookie.setPath(
"
XXX
"
);语句的时候,起作用的以最后一条为准。
6
)设置多个path的方法???
2
.跨域共享cookie的方法:设置P3P
转载如下:
今天在w3网站上看到了一篇介绍p3p的文章(http:
//
www.w3.org/TR/P3P/),利用这个可以实现跨域访问cookie,我也试验一下。
其实很简单:试验用了2个域名readlog.cn和diaor.com
首先在readlog.cn下放置一个文件setcookie.php 内容:
PHP代码
<?
php
header(
'
P3P: CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
'
);
//
p3p
setcookie(
"
TestCookie
"
,
"
test
"
,time()
+
3600
,
"
/
"
,
"
.readlog.cn
"
);
//
设置cookie
?>
再放置一个readcookie.php 内容:
PHP代码
<?
php
echo $_COOKIE[
"
TestCookie
"
];
?>
然后在diaor.com下放置setcookie.php ,内容:
JavaScript代码
<
script src
=
"
http://www.readlog.cn/setcookie.php
"
></
script
>
然后访问http:
//
www.diaor.com/setcookie.php 抓取数据包可以发现,在readlog.cn域下生成了一个cookie ,名称是TestCookie,值是test
下面访问http:
//
www.readlog.cn/readcookie.php 来验证一下,可以发现,cookie确实设置成功了。
有兴趣可以去掉header(
'
P3P: CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
'
);这句,试一下就会发现cookie能设置,但是在readlog.cn读不到这个cookie。
评论
#
re: 摘抄: Cookie跨域操作
回复
更多评论
2016-01-27 17:18 by
23
123
#
re: 摘抄: Cookie跨域操作
回复
更多评论
2016-01-27 17:19 by
23
@23
魏都大道
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 云云
日历
<
2011年4月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(9)
给我留言
查看公开留言
查看私人留言
随笔档案
2015年7月 (1)
2014年9月 (3)
2014年1月 (3)
2013年12月 (1)
2013年11月 (4)
2013年10月 (2)
2013年7月 (2)
2013年6月 (3)
2013年4月 (2)
2013年1月 (2)
2012年12月 (4)
2012年11月 (3)
2012年10月 (3)
2012年9月 (2)
2012年8月 (1)
2012年7月 (9)
2012年6月 (2)
2012年5月 (6)
2012年4月 (7)
2012年3月 (2)
2012年2月 (1)
2012年1月 (1)
2011年12月 (2)
2011年11月 (16)
2011年10月 (7)
2011年8月 (1)
2011年6月 (2)
2011年5月 (5)
2011年4月 (9)
2011年3月 (10)
搜索
最新评论
1. re: CAP原理与最终一致性 强一致性 透析
学习。
--NewSea
2. re: 一致性哈希算法与Java实现
有一个问题,如果使用虚拟节点,某台机器每次宕机再恢复后都需要迁移数据。这样是否反而更麻烦了。
--三单联咖啡色
3. re: java static块和static 方法 的使用区别
sss
--zhangsan
4. re: struts2 jsp页面使用s:if 标签
你是基佬 哦耶耶
--基佬
5. re: android开发过程中 R文件消失 clean 和 build project都无效 已解决
评论内容较长,点击标题查看
--llll
阅读排行榜
1. linux 新建用户、用户组 以及为新用户分配权限(127850)
2. Oracle内连接、外连接、右外连接、全外连接小总结(93176)
3. zookeeper 集群安装(单点与分布式成功安装)摘录(79131)
4. android开发过程中 R文件消失 clean 和 build project都无效 已解决(76946)
5. 一致性哈希算法与Java实现 (48822)
评论排行榜
1. Oracle内连接、外连接、右外连接、全外连接小总结(12)
2. zookeeper 集群安装(单点与分布式成功安装)摘录(11)
3. android开发过程中 R文件消失 clean 和 build project都无效 已解决(6)
4. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input(6)
5. jquery 自动过滤表单输入框前后空格(5)