近段时间在做网站,论坛就用成熟的discuz,但是我不是phper,只会java,做了一阵权衡之后,始终没有下决心学习php,于是转而寻找一些能将java web应用和dz链接的东西。
好在dz7以后有了ucenter这个东西,原意是做其他自己产品的单点登录的,说白了就是写一个cookie,各个子产品通过读这个cookie判断用户是否登录。
原来想的很简单,java生成一样的cookie,给dz读去,不就完了?仔细看了看dz生成cookie的过程,疯了。恨不得加100多层密。
放弃了。
于是直接调用ucenter,给ucenter用户登录的请求,如果通过了ucenter会返回一个xml文件,自己parse一下,就算完成登录,同时ucenter会返回一段<script>,只要你的server上有dz或者uhome(这不废话吗?就是为了整合,肯定有啊),就可以用他们的api生成cookie,这段cookie实际上也是调用的dz或者uhome的php页面。
貌似这个思路不错,但是在实际的过程中,遇到了一个很牛的问题,就是在ff和chrome上都没问题的登录,在ie上死活不行。
先说一下环境,两台服务器,19.168.0.1和.2,在.1上部署java web,在.2上部署dz和ucenter,由java发出后台请求ucenter后,由.1调用.2的dz生成cookie,这时候再到.2的时候,dz就自动登录了。
有些乱乎。但是明眼人一下能看出问题,IE倒霉的跨域cookie拦截机制把写cookie的要求截住了,我是查了n多资料才发现这个的,最终发现IE页面下面哪个邪恶的小红眼睛里面,果然有被拦截的.2写cookie的请求。
于是遍查资料,崩溃了n次,什么p3p和神秘的一串码都用上了,根本没用!
不过,别指望我能提供什么方法。到最后我也没有找到解决IE的这个问题。
倒是,第二天早上刷牙的时候想到一个事情:实际上,在真正的网站中,根本不存在跨域的问题,因为.1会解析成www.aaa.com,.2解析成bbs.aaa.com,只是测试环境中犯懒,直接用ip了,所以跨域了。
赶紧配了一个hosts,测试,成功!
写这段的目的是提醒一下:别把时间浪费在解决根本不存在的问题上。
同时:有点儿感慨,我在页面中引用google的地图,检查cookie的时候,发现google倒是写上cookie了!它是绝对的跨域了啊,怎能弄得呢?
有知道的,不吝赐教啊
分享到:
相关推荐
在开发Web应用时,我们经常会遇到跨域问题,特别是在使用Vue.js等前端框架与后端API进行交互时。Axios作为一个流行的JavaScript库,用于处理HTTP请求,它在处理跨域请求时,特别是涉及到Cookie时,有一些特殊的配置...
标题 "IE7 Ajax跨域问题" 涉及到的是在使用Ajax技术在Internet Explorer 7(IE7)浏览器中处理跨域请求时遇到的挑战。在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器...
### 跨域访问解决方案与Cookie处理 在现代Web开发中,跨域问题一直是困扰开发者的一大难题。当浏览器出于安全考虑阻止不同源之间的数据交互时,跨域问题便产生了。为了解决这一问题,并确保在跨域场景下可以正确地...
【标题】"Dubbox跨域请求、Cookie设置"所涉及的知识点主要集中在分布式服务框架Dubbo的跨域问题处理和Cookie的配置上。Dubbox是阿里巴巴开源的一个基于Dubbo的扩展,提供了更多的特性,如REST支持、Zookeeper注册...
因为网站系统的日益庞大,不同域名业务,甚至不同合作方网站的cookie可能或多或少需要进行共享使用,遇到这个情况的时候,大家一般想到的是使用登录中心分发cookie状态再进行同步进行解决,成本较高而且实施起来比较...
在现代Web应用中,前后端分离的架构设计已经成为主流,随之而来的是跨域资源共享(CORS)的问题。本文将深入探讨“跨域携带cookie”的案例,重点解析如何通过nginx服务器解决这一问题。首先,我们需要理解什么是跨域...
在这个场景中,我们关注的是Django应用中的cookie跨域问题,这通常在开发多站点或者前后端分离的项目中出现。在"实验室大作业购物商城示范"这样的项目中,处理好cookie跨域能够确保用户登录状态等敏感信息在不同域...
CALIS旨在解决国内外电子资源数据库访问时的跨域身份认证问题,并为高校图书馆间的资源共享和协同服务提供基础性支持。通过CALIS统一认证云服务,用户能够在校园外进行实名认证访问,大大提高了资源利用的灵活性和...
然而,有些情况下我们需要在跨域请求中保持登录状态,这就涉及到如何处理跨域cookie的问题。在本篇文章中,我们将深入探讨如何基于axios库来解决这个问题。 axios是一个非常流行的JavaScript库,用于发起HTTP请求。...
解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写
在IE7浏览器环境下,利用AJAX技术跨域盗取cookie的操作涉及了Web安全性的敏感问题。cookie是服务器为了标识用户身份而存储在用户浏览器中的小文件,通常包含敏感信息,如登录凭证、偏好设置等。跨域问题是指出于安全...
// 允许携带认证信息(如cookie) } } ``` 接下来,我们讨论session共享。在分布式系统中,单一服务器上的session存储方式不再适用,因为用户请求可能会被路由到不同的服务器上。为了实现跨域session共享,我们...
同时你可以通过ie、firefox去测试你对session、cookie的理解在此之前是否正确,可以简单告诉你session不是我们大都认为的在登录时候,通过request.getSession()产生的,而是你在首次访问一个应用时候,就已经产生了...
### 前端后端跨域问题解析及解决方案 #### 跨域问题概述 跨域问题,即Cross-Origin Resource Sharing(CORS),是指浏览器出于安全考虑,在不同源之间执行网络请求时实施的一种限制机制。根据同源策略的规定,只有...
解决方法是: 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader(“P3P”, “CP=CAO PSA OUR”); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域...
在开发Web应用时,我们经常会遇到“跨域访问”(Cross-Origin Resource Sharing, CORS)的问题。Tomcat作为一款广泛使用的Java Servlet容器,同样会遇到这个问题。跨域是由于浏览器的安全策略,同一源策略(Same-...
解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...