Cookie 路径
cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie。在默认情况下,出于安全方面的考虑,只有与创建 cookie 的页面处于同一个目录或在创建cookie页面的子目录下的网页才可以访问。那么此时如果希望其父级或者整个网页都能够使用cookie,就需要进行路径的设置。
让这个设置的cookie 能被其他目录或者父级的目录访问的方法:1
document.cookie = "userName = 独行冰海; path=/";
Cookie 域
路径能解决在同一个域下访问 cookie 的问题,那么如何解决同一个主域下的访问问题呢?我们可以通过指定可访问cookie的主机名来进行设置。
document.cookie=”name=value; domain=cookieDomain”;
例如 “www.baidu.com" 与 “mp3.baidu.com” 公用一个关联的域名”baidu.com”,我们如果想让 “www.baidu.com" 下的cookie被 “mp3.baidu.com” 访问,我们就需要用到 cookie 的domain属性,并且需要把path属性设置为 “/“
这里需要注意一点:一定的是同域之间的访问,不能把domain的值设置成非主域的域名。
默认cookie的域是当前域名,默认的路径的设置cookie时的当前页面的目录路径。如果想要跨域或者在其他的路径下访问cookie就必须要重新设置这两个属性,
www.baidu.com/content/example/3.jsp
则域domain为www.baidu.com, 路径path为/content/example
1 | document.cookie = "username=独行冰海; path=/; domain=baidu.com" |
在项目中的使用实战:
在一个系统例如www.jlspdj.cn/spzzb下 登录之后设置cookie,代码如下:
1 | $.cookie("userName", userName, { expires: 7,path:'/',domain:'jlspdj.cn' }); |
在另一个系统www.jlspdj.cn/bigdata 中就使用下面代码获取cookie即可判断。1
var strcookie = document.cookie;