正常的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的方法:设置cookie.setDomain(".jszx.com");
A机所在的域:home.langchao.com,A有应用cas
B机所在的域:jszx.com,B有应用webapp_b
1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
2)这个参数必须以“.”开始。
3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。
5)设置多个域的方法???
B:
照你这样说,你的web应用可以去影响其他你并不拥有的域名的cookie了?
对,可以这么说,设置了共享cookie之后,所有的*.jszx.com的域名都可以共享这个cookie
另外这个cookie是保存在浏览器中的 而不是以文件的形式保存在C:\Documents and Settings\xuly\Cookies目录下的
你这里是服务器端对cookie的设置,当然会影响到他的使用,cookie在客户端如何被识别是哪个应用下,根据的就是这个名称嘛,难道你没有用js来操作过cookie吗。
你修改cookie时,要重新设置一下cookie生成时的path和domain~~不然修改是不生效的~~
Ok. Now I see the Set-Cookie coming back to the browser header to kill off the cookie, but on then next request, the browser is still sending the cookie to the server! After much stuffing around I noticed that when I created the cookie, the Set-Cookie header has a path and domain, but when I delete the cookie there's no such beast. You'd think I could call Cookie.getDomain() and Cookie.getPath() on the cookie I retrieve from the request. No cigar. The browser doesn't tell you that stuff, so you just get nulls.
So then I changed my deleteCookie routine to call the same code that generated the Cookie in the first place (with domain, path, and age), and call setMaxAge(0) on that and add it to the response. All good.
分享到:
相关推荐
### 跨域访问解决方案与Cookie处理 在现代Web开发中,跨域问题一直是困扰开发者的一大难题。当浏览器出于安全考虑阻止不同源之间的数据交互时,跨域问题便产生了。为了解决这一问题,并确保在跨域场景下可以正确地...
标题中的“Cookie跨域”指的是在互联网应用中,由于浏览器的同源策略限制,通常情况下,Cookie只能由创建它的源(即域名)读取。但有时候开发者需要在不同域名之间共享用户状态或会话信息,这时就需要实现Cookie的...
本文将深入探讨“跨域携带cookie”的案例,重点解析如何通过nginx服务器解决这一问题。首先,我们需要理解什么是跨域以及为什么会有跨域限制。 跨域是指浏览器的同源策略,即JavaScript只能访问与当前页面同协议、...
Expires 过期时间 跨域操作需要设置域属性: Response.Cookies(“MyCookie”).Domain = “jb51.net”; (这里指的是泛域名) 这样在其它二级域名下就都可以访问到了, ASP 和 ASP.NET 测试通过 虚拟目录下访问: 我在...
综上所述,通过Nginx配置,可以有效地解决没有域名的环境中,cookie跨域共享的难题。通过精心设计Nginx的代理规则和请求转发,我们可以绕过浏览器的限制,实现高效的跨域访问解决方案。在部署Nginx时,要注意对配置...
5. 共享Cookie跨域 要实现不同域名下的网站共享Cookie,可以在设置Cookie时使用`setDomain()`方法,如`.wangwz.com`。这样,任何以`wangwz.com`为顶级域名的子域名都能访问这些Cookie。示例如下: ```java Cookie ...
3. `b.com/synclogin.php`再嵌入一个指向`a.com/callback.php`的iframe,通过JavaScript与父级(`a.com`)进行通信,实现跨域操作。 ```php // a.com/login.php setcookie("sso", $sso); echo 'login success...'; ...
标题中提到的“***(C#)跨域及跨域写Cookie问题”,实际上涉及到了Web开发中的一个常见问题:不同域名下的Web页面互相访问时遇到的同源策略限制。同源策略是浏览器的一种安全机制,它规定了不同域之间的交互行为,...
然而,有时候为了实现特定的功能,如用户身份验证或数据共享,我们需要跨域共享Cookie。本文将详细讲解如何使用PHP来实现跨域Cookie的共享。 首先,我们要了解同源策略的基本概念。同源策略是浏览器为了保护用户...
### 知识点详解 #### 一、Cookie操作类概览 在Web开发中,Cookie是一种常用的技术,用于存储用户的一些基本信息,以...需要注意的是,在实际应用中还需考虑跨域问题、安全性等因素,确保Cookie使用的正确性和安全性。
**P3P Header 解决Cookie跨域问题** 在互联网中,由于同源策略的限制,JavaScript通常无法在不同域名之间共享资源,包括Cookie。然而,有时我们可能需要在跨域场景下传递或读取Cookie,这时P3P(Platform for ...
"CookiejsJavaScript客户端的Cookie操作库" 指的是一种JavaScript库,专门用于在客户端(即用户浏览器)进行Cookie的操作。Cookiejs是这个库的名称,它提供了一组简单易用的API,帮助开发者方便地管理用户的Cookie。...
总的来说,JavaScript Cookie库是前端开发中处理浏览器cookie操作的一个高效选择,尤其适用于需要在多个页面间保持用户状态或简单数据存储的场景。通过灵活的API和丰富的配置选项,可以方便地集成到任何JavaScript...
- **跨域问题**:不同域名的网站不能访问对方的Cookie,除非设置为共享。 - **同源策略**:默认情况下,JavaScript只能访问同源的Cookie,可以通过设置`withCredentials`为true在AJAX请求中跨越。 总结,".net最...
在Web开发中,Cookie是一种广泛使用的机制,用于在客户端存储小量的数据,这些数据可以在用户与网站交互时发送回服务器。...同时,要注意处理Cookie的大小限制(通常为4KB)以及跨域、安全等方面的问题。
跨域获取Cookie是一种技术手段,常用于实现多个网站间的单点登录(Single Sign-On, SSO)。在这种场景下,用户在A网站登录后,无需在B网站再次输入用户名和密码,可以直接访问B网站并保持登录状态。这个过程涉及到...
"UC v1.0"是一个JS跨域操作工具,旨在帮助开发者解决这个问题,实现跨域数据交换。 "跨域"是指一个域下的文档或脚本尝试请求另一个域下的资源。根据同源策略,如果两个URL的协议、域名或端口任何一项不相同,都被视...
这段代码中,`getTime`函数会每4秒检查一次Cookie状态,如果状态为0,则执行刷新操作。`onload`函数确保在页面加载时启动定时器。 业务系统修改Cookie状态值的代码示例: 1. 使用JavaScript实现,可以将以下代码...