纠结了半天,终于搞定了cookie在主域名下各个二级域名可共享问题.
对于任何web 前端技术,都可以对创建cookie并且可以修改同域下cookie的数据.
一个cookie是一个K-V的字符串,同时可以传递一些属性.
Cookie cookie = new Cookie("key","value");
cookie.setMaxAge(-1);
cookie.setDomain("abc.com");
cookie.setSecure(false);
cookie.setPath("/")
一个cookie如上4个重要的属性:
1)maxAge:cookie被客户端保持的时间,单位为(秒),正数表示在指定的秒数后过期被客户端删除,0表示删除此cookie(置空),负数则表示此cookie不会被客户端存储,将在浏览器关闭后清除.
2)domain:cookie可被有效操作的域,可以为ip/hostname等,不过需要声明:*.abc.com,.abc.com,abc.com这三种方式会有区别,客户端会做简单的匹配.多数情况下直接使用abc.com可以接受多级子域名.只有正确匹配domain的cookie才会被发送给server.
3)secure:是否只允许安全加密url访问,默认为false,如果为true,那么cookie只对https/SSL等加密连接才会发送给server.
4)path:cookie对domain何路径下访问有效,"/"表示domain下根目录中所有请求有效,"/open"表示只对domain/open目录下请求有效,如果此path忘记设置,你将遇到一个很尴尬的问题:明明在其他页面设置了cookie输出,但是换个页面却死活不行..
domain和path是决定可跨域的2个参数.
对于domain,"abc.com"则可以在abc.com主域名之下的多级子域名有效,".abc.com"只能在二级域名以及"www.abc.com"下有效,其实客户端只是做了简单的匹配..你可以在此基础上做更多的分级控制..
path是个有参考意义的属性,对于部分路径下开放访问的系统有意义,比如:abc.com/open下的程序和登录是开放给特殊开发者接入的,这里的数据活着cookie需要做一些另类的处理..
分享到:
相关推荐
超实用的cookie设置案例,说明,编辑cookie,删除cookie方法
然而,有时我们需要在一级域名及其所有二级域名之间共享Cookie,以实现如单点登录(Single Sign-On, SSO)的功能。例如,用户在www.jb51.net登录后,希望在bbs.jb51.net也能保持登录状态。 要解决这个问题,关键...
在基于Cookie的二级域名下跨域共享SSO实现中,核心概念是利用Cookie的特性来实现用户身份的共享与传递。 首先,我们了解SSO的工作原理。当用户首次访问一个应用系统(例如,`app1.example.com`)时,如果用户尚未...
总之,正确设置Cookie的作用域是实现二级域名与顶级域名同步登录的关键步骤。通过在PHP配置文件中调整`cookiedomain`,你可以确保用户在整个网站的各个部分都能保持一致的登录状态,同时要注意保护用户数据的安全。
当涉及到二级域名或跨域共享时,这意味着一个网站的Cookie需要在它的子域名或者完全不同的域下也能被访问。 **实现步骤** 1. **设置`Domain`属性**:这是实现跨域共享的关键。在创建或更新Cookie时,需要设置`...
因为网站系统的日益庞大,不同域名业务,甚至不同合作方网站的cookie可能或多或少需要进行共享使用,遇到这个情况的时候,大家一般想到的是使用登录中心分发cookie状态再进行同步进行解决,成本较高而且实施起来比较...
有时候两个域名可能在不同的服务器上,但是我们依然希望二级域名能够顺利访问主域名的cookie,主域名可以顺利访问二级域名的cookie,比如sc.jb51.net 希望能访问 www.jb51.net 和 blog.jb51.net 的 cookie 下面介绍3种...
也就是说二级域名(或者三级域名)之间可以通过这种方式共享cookie。 其实cookie的domain属性的用法跟path有些类似,比如我们将cookie的path设置为/,则/user目录下也可以访问该cookie。 实践 Apache同一端口对应...
可以考虑使用Cookie或自定义解决方案来实现跨二级域名的状态保持。 5. **安全与性能优化**:确保所有转向过程都经过安全验证,避免恶意重定向。同时,合理的缓存策略和减少不必要的数据库查询可以提升系统的响应...
最近需要把阿里云上的四台服务器的项目迁移到客户提供的新的项目中,原来的四台服务器中用到了一级域名和二级域名。比如aaa.abc.com 和bbb.abc.com 和ccc.abc.com。其中aaa.abc.com登录,通过把cookie中的信息...
这段代码会在用户的浏览器上创建一个名为`TestCookie`的Cookie,值为`okol`,有效期为当前时间加3600秒(即1小时),路径为根目录`/`,并且指定该Cookie适用于`b1.test.com`域名。设置的最后一位参数为1,表示此...
- **使用相同的Cookie域**:将所有二级域名设置为共享主域名的Cookie,例如,如果主域名为`example.com`,二级域名为`sub1.example.com`和`sub2.example.com`,那么设置Cookie的Domain属性为`.example.com`,这样...
例如,如果cookie是为***设置的,那么它应该能够被***以及其下的所有二级域名如***访问。 - 如果使用setcookie函数时指定的域参数为顶级域名,那么cookie只能被该顶级域名及其子域名访问,不能被同级的其他顶级域名...
另一种方法是利用HTTP的`Set-Cookie`头部,通过设置`domain`参数,允许Cookie被其他特定的二级域名读取。例如,服务器在响应中添加`Set-Cookie: key=value; domain=.subdomain.com`,那么这个Cookie不仅在example1....
- **何时使用Cookie**:当需要轻量级的数据存储,且数据安全性要求不是特别高时,可以选择使用Cookie。例如,存储用户偏好设置。 - **何时使用Session**:对于涉及敏感信息的应用,如电子商务平台、银行应用等,应...
在进行***二级域名共享以及文件下载站的授权访问控制时,涉及到的技术要点和步骤非常丰富,主要包括了二级域名的设置、权限控制、Forms身份验证共享以及配置文件的设置。以下将详细介绍这些知识点。 ### 二级域名的...