前两天在 实现基于 ASP.NET Forms 身份验证的跨子域单点登录 一文中提到利用 cookie 支持跨子域 domain 特性来实现单点登录,今天忽然想假如不是缺省端口 80 呢?比如 8080,cookie 能跨端口?经测试,http cookie 是没有端口限制的,站点 http://news.ssolab01.leoworks.net:8080 与 http://passport.ssolab01.leoworks.net 之间是可以共享 cookie 的。
另外可以像 domain 一样指定 IP 分段共享吗?仔细读完 Cookie set to IP number? 看来这应该是不可能的,主要是安全原因。设想下假如可以通过 cookie.domain = .123.254,那岂不所有 *.*.123.254 的站点都可以共享 cookie 了?
此外,经测试对于 localhost 或者只有机器名(即netbios),不要显示设置 cookie 的 domain,否则 cookie 不会存储在客户端浏览器中。
查下 .NET 类库,ASP.NET HttpCookie 也没有与 Port 和 IP 相关的属性?不过 System.Net.Cookie 倒有一个 Port 属性。
Cookie 可以跨端口吗?Cookie 可以绑定 IP 吗?
最新推荐文章于 2025-05-26 21:35:29 发布