`

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就可以解决了(具体詳細信息可以参考:http://www.w3.org/P3P/),P3P设置代码为:

<%response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'");%>

 

 

分享到:
评论
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这个子域下
数字证书做一下安全验证就行了.
不同域的话,你至少双方也要定义一套加密规则吧

相关推荐

    js解决跨域访问问题

    ### JS解决跨域访问问题详解 #### 一、引言 在现代Web开发中,跨域访问问题是开发者经常面临的一个挑战。特别是在使用JavaScript进行前后端交互时,由于浏览器的同源策略限制,开发者经常会遇到跨域问题。本文将...

    解决JS跨域访问IFrame的解决方案

    综上所述,解决JS跨域访问IFrame的问题,需要根据实际需求和环境选择合适的解决方案,结合服务器端的支持和客户端的技术手段,确保跨域通信的安全和高效。在开发过程中,应充分理解同源策略的限制,熟练掌握跨域通信...

    javascript插件 解决双向跨域问题

    它通过创建隐藏的IFrame和利用window.postMessage API来实现跨域通信。window.postMessage是HTML5引入的一个API,允许来自不同源的窗口进行通信。 使用jcrossdomain的步骤如下: 1. **引入插件**:在两个域的页面...

    跨域访问解决方案,关于跨域访问cookie的资料

    为了解决这一问题,并确保在跨域场景下可以正确地处理Cookie信息,本文将详细介绍几种常用的跨域访问解决方案及其在处理Cookie方面的应用。 #### 一、跨域访问解决方案概述 跨域访问是指一个域名下的文档或脚本...

    解决SilverLight跨域访问问题

    本文将深入探讨Silverlight跨域访问的问题,以及如何有效地解决它。 首先,理解Silverlight的同源策略是至关重要的。如同JavaScript一样,Silverlight也遵循同源策略,这意味着它只能访问与包含它的HTML页面来自...

    js跨域访问后台

    需要注意的是,单纯在客户端设置`crossDomain: true`并不足以实现跨域访问,还需要后端服务器的支持。 ### 后端配置 后端服务器需要设置适当的响应头来支持CORS。以下是一些常见的响应头: - `Access-Control-...

    pdf.js,内含跨域解决办法

    为了解决跨域问题,PDF.js 提供了几种解决方案: 1. 服务器端配置:在服务器端设置 CORS 头部,允许来自其他域的请求。例如,在 Apache 或 Nginx 配置中添加 `Access-Control-Allow-Origin` 头,指定允许访问的源...

    解决openlayers跨域访问的解决方案

    以上就是解决OpenLayers跨域访问问题的主要方法。如果你已经按照"说明.txt"文件操作并且测试成功,那么这些步骤应该对其他遇到类似问题的人也有帮助。在实际开发中,可能还需要根据具体情况进行调整,比如处理认证、...

    Ajax跨域访问解决方案

    **Ajax跨域访问解决方案** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,提升用户体验。然而,由于浏览器的同源策略限制,Ajax请求只能向同源(协议、域名和端口相同)...

    arcgis api for js 4.x 在tomcat离线部署后,跨域访问问题

    总结来说,解决“arcgis api for js 4.x 在tomcat离线部署后,跨域访问问题”需要对CORS有深入理解,并在Tomcat服务器上进行相应的配置。同时,注意ArcGIS API for JS 4.x的配置和资源管理,确保离线环境的完整性和...

    完美解决iframe跨域问题

    本文将深入探讨如何“完美解决iframe跨域问题”,并介绍其底层的`window.name`转换代理实现。 **一、iframe跨域的基本概念** 1. **什么是iframe**:iframe是一种HTML元素,允许在单个网页中嵌入另一个网页。它通过...

    JS跨域访问解决方案总结[参照].pdf

    JS 跨域访问解决方案总结 JS 跨域访问解决方案总结是指在不同域名站点之间进行资源访问的解决方案。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy),即如果两个页面的协议、域名和端口...

    JS跨域访问解决方案总结.pdf

    标题《JS跨域访问解决方案总结.pdf》指明文档的核心内容是关于JavaScript跨域访问问题的解决方法。跨域访问问题是指由于浏览器的同源策略限制,网页中JavaScript代码出于安全原因不能访问另一个源(域名、协议或端口...

    js+jsp+json+tomcat跨域访问

    在IT行业中,跨域访问是Web开发中一个重要的概念,特别是在使用JavaScript、JSP、JSON以及前端库如jQuery时。本教程将详细讲解如何利用这些技术实现跨域数据交互。 首先,我们需要理解“跨域”这个术语。在浏览器的...

    解决ajax不能访问本地文件问题(利用js跨域原理)

    尽管JSONP和本文中的方法在某些场景下有效,但在实际开发中,更推荐使用CORS,因为它提供了更安全、更可控的跨域访问方式。同时,对于无服务器的前端项目,也可以考虑使用Web Workers或Service Worker等现代Web技术...

    Javascript跨域访问解决方案

    JavaScript跨域访问解决方案 在Web开发中,JavaScript的同源策略是浏览器为了保障用户安全而实施的一项重要机制。它限制了脚本只能访问与当前页面具有相同协议(如http或https)、主机名和端口号的资源。然而,在...

    链接修改及跨域访问的问题

    本文将详细讨论如何在JavaScript中实现跨域访问,以及涉及到的`LinkToInfoFrame`、`ShowModelInfo`、`ShowLineData`等方法的修改。 首先,`LinkToInfoFrame(url, x, y)`是一个通用的函数,用于设置IFrame的`src`...

    javascript/jquery 跨域访问

    JavaScript 和 jQuery 是Web开发中广泛使用的两种技术,它们在实现跨域访问方面起着关键作用。跨域访问是Web应用程序中常见的需求,特别是在Ajax请求、API调用或数据共享时。由于浏览器的安全策略,不同域名、协议或...

Global site tag (gtag.js) - Google Analytics