`
txf2004
  • 浏览: 6868929 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

跨二级域名的cookie和普通的cookie有什么不同

阅读更多
跨二级域名的cookie需要设置以下属性:
(surance原创,请保留出处: http://www.fltek.com.cn)

HttpCookie cookie = new HttpCookie("User");
cookie.Value = "yiyioo";
cookie.Expires = DateTime.Now.AddMinutes(3);
cookie.Domain = "test.com";
Response.Cookies.Add(cookie);
重点就是变红的那句,要设置这个domain。只要这样设置后 ,所有的在这个域名下的二级域名都可以访问。

关于cookie的特性Ps两句:
cookie只是浏览器附加的一个功能,因此你要写Expires属性,不然会关闭浏览器就过期。(实际是cookie并没有存到硬盘,还是在浏览器的内存中。
cookie过期也不会像session一样,可以触发一个过期事件。因为这个是由浏览器定期删除的,跟服务器端没有关联。
cookie的原理既是浏览器写到硬盘指定地址的一个文本。你可以写任何域名,但是你读取cookie的时候,浏览器是根据你的域名返回cookie给你的。
cookie存在的理由:cookie可以唯一区分一个客户端。目前很多单点登陆解决方案,无法做到的就是“唯一区分客户端”。你用IP、硬盘号、mac区分,其实都不是明智的选择,采用浏览器自带的区分才是最好。比如多Tab如何处理,同台电脑的多个浏览器进程如何处理等。因此还是利用cookie和session。自己用数据库模拟很难的 。


如果多域名是在不同的web服务器上,需要做一些额外的配置。(比如智能解析)
需要配置cookie的密钥。因为cookie是加密的,加密的密钥默认是本机的某个硬件信息。如果换了web服务器,那么这个密钥就不用了,这样加密解密出来的东西也不同了。因此要手工设置一下密钥。

另外,使用asp.net的时候要注意,因为.net framework 1.1 和2.0默认的加密算法不同,因此如果要兼容这2种网站,也需要设置一下。

可以设置web.config的以下节点:(/System.Web/下的节点)
<machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="3DES" decryption="3DES" />

如果是.net用户,可以尝试使用这个类:
FormsAuthentication
这个类封装了单点登陆,你不需要去关注写cookie要怎么写了,只要在webconfig配置好,页面简单调用一下即可。


另外,如果需要实现桌面软件登陆(例如旺旺可以给淘宝网页登陆),可以参考下文
http://blog.csdn.net/thinker28754/archive/2007/12/26/1968539.aspx
参考文献:
http://content.websitegear.com/article/subdomain_tips.htm
分享到:
评论

相关推荐

    二级域名和顶级域名需要同步登录如何设置cookie作用域1

    二级域名和顶级域名需要同步登录如何设置cookie作用域当有二级域名和顶级域名需要同步登录时,请在 config/config_global.php 中修改 c

    php设置cookie,二级域名共享cookie方法,有例子使用很方便

    超实用的cookie设置案例,说明,编辑cookie,删除cookie方法

    关于二级域名下使用一级域名下的COOKIE的问题

    比如这样的情况:我们在一级域名是个网站如:www.jb51.net,他的下面有个二级域名如:bbs.jb51.net 我们要想实现在一级域名上登录后,保留这个cookie到二级域名上,也就是说,实现同步登录的效果, 那么我们该怎么...

    SSO单点登录【基于cookie二级域名下跨域共享】

    SSO单点登录【基于cookie二级域名下跨域共享】的简单实现。

    php中cookie实现二级域名可访问操作的方法

    有时候两个域名可能在不同的服务器上,但是我们依然希望二级域名能够顺利访问主域名的cookie,主域名可以顺利访问二级域名的cookie,比如sc.jb51.net 希望能访问 www.jb51.net 和 blog.jb51.net 的 cookie 下面介绍3种...

    PHP+Apache实现二级域名之间共享cookie的方法

    也就是说二级域名(或者三级域名)之间可以通过这种方式共享cookie。 其实cookie的domain属性的用法跟path有些类似,比如我们将cookie的path设置为/,则/user目录下也可以访问该cookie。 实践 Apache同一端口对应...

    二级域名或跨域共享Cookies的实现方法

    适用于Asp。 在主域名设置的Cookie,在各子域名共用;适用于博客等提供二级域名。这个问题,以网上有众多帖子,可惜都没有完整解决。

    二级域名Cookie问题的解决方法

    在代码中,我是通过Request.IsAuthenticated来判断当前请求是否被验证的,以前全部采用www.cnblogs.com域名时很正常,看来是域名不同引起的。对于Form验证,验证是通过cookie进行的,在执行Request.IsAuthenticated...

    asp.net关于Cookie跨域(域名)的问题

    跨二级域名 我们知道cookie是可以跨二级域名来访问,这个很好理解,例如你 www.test1.com 在的web应用程序创建了一个cookie,要想在bbs.test1.com这样的二级域名对应的应用程序中访问,就必须你在创建cookie的时候...

    利用nginx解决cookie跨域访问的方法

    最近需要把阿里云上的四台服务器的项目迁移到客户提供的新的项目中,原来的四台服务器中用到了一级域名和二级域名。比如aaa.abc.com 和bbb.abc.com 和ccc.abc.com。其中aaa.abc.com登录,通过把cookie中的信息...

    域名和cookie问题(域名后缀)

    域名和cookie 偶然想到一个问题:www.g.cn能把cookie设置为.g.cn,那么www.com.cn能设置把cookie设置为.com.cn吗?...二级域名 www.g.cn .cn g.cn *.g.cn www.com.cn .com.cn www.com.cn *.www.com.cn www.goo

    php中cookie的作用域

    您可能感兴趣的文章:php中cookie实现二级域名可访问操作的方法php跨域cookie共享使用方法php中cookie的使用方法PHP CURL获取cookies模拟登录的方法PHP读取CURL模拟登录时生成Cookie文件的方法PHP会话控制:Session与...

    js基于cookie方式记住返回页面用法示例

    本文实例讲述了js基于cookie方式记住返回页面的用法。分享给大家供大家参考,具体如下:...二级域名cookie可以生效,通过指定domain 于是在js端 [removed]=back_url=+this.location.href+; domain=.xxxx.com; path=/;;

    Yii2下session跨域名共存的解决方案

    无论是一二级域名,和不同域名下的跨域,无非要达到两点: 客户端访问同一个sessionId, 所有域名对应的服务器访问的session的数据的位置必须一致。 1.访问共同的sessionId主要是通过把当前的sessionId写进cookie...

    asp.net Cookie跨域、虚拟目录等设置方法

    (这里指的是泛域名) 这样在其它二级域名下就都可以访问到了, ASP 和 ASP.NET 测试通过 虚拟目录下访问: 我在ASP端做了下测试,.NET的没试, 如果不指定Path属性, 不同虚拟目录下Cookie无法共享 将Response....

    兼顾性能与SEO的URL重写与真静态化思路

    0,分频道分别利用二级域名指向不同服务器,可以分流很大压力,用cookie传递登陆状态 1,URL重定向所有HTML到ASPX 2,在GLOBALX页里判断是否是第一次, 3,第一次就利用ASPX生成HTML, 4,否则直接就在GLOBALX里...

Global site tag (gtag.js) - Google Analytics