jsp跨域访问cookies_js解决cookie跨域访问的问题

今天有一同事问到一个Cookie跨域访问的问题,大概是这样的:“有两个不同域名的系统A(www.a.com/a.jsp)与

B(www.b.com/b.jsp);当系统A成功登录后,系统B也能够同时自动完成登录,有点像一点登录的效果”。

为了快速、简单的实现这一功能,首先想到就是通过JS操作Cookie并让两个不同域的cookie能够相互访问,这样就可达到了上述的效果,具体实现过程大致可分以下两个步骤:

1、在A系统下成功登录后,利用JS动态创建一个隐藏的iframe,通过iframe的src属性将A域下的cookie值作为

get参数重定向到B系统下b.jsp页面上;

var _frm = document.createElement("iframe");

_frm.style.display="none";

_frm.src="http://b.com/b.jsp?test_cookie=xxxxx";

document.body.appendChild(_frm);

2、在B系统的b.jsp页面中来获取A系统中所传过来的cookie值,并将所获取到值写入cookie中,这样就简单的实现了cookie跨域的访问; 不过这其中有个问题需要注意,就是在IE浏览器下这样操作不能成功,需要在b.jsp页面中设置P3P HTTP Header就可以解决了(具体詳細信息可以参考:

分享到:

2010-05-11 23:08

浏览 12946

论坛回复 / 浏览 (4 / 12348)

评论

4 楼

h521999

2010-05-18

加密规则很多呀,我一般都是用3DES来加密了,双方都使用一个key、iv 来加解就ok呀

3 楼

xiebaolong

2010-05-18

这个加密规则应该怎么做呢?

java视乎有单点登录的框架吧!什么acgi 还有 什么josso

只可以都不会用!

2 楼

h521999

2010-05-14

没错,cookie是可以跨子域的,我所讲的是跨两个不同的大域;

我这里只是演示一下功能,至于cookie里所存储的数据是密文还是明文视情况而定嘛,不过非常赞同你的意见,在实际项目中加密还是安全的

1 楼

cheer1l1lg

2010-05-14

cook是可以跨子域的   www.163.com  abc.163.com 都是163.com这个子域下

数字证书做一下安全验证就行了.

不同域的话,你至少双方也要定义一套加密规则吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值