二级域名下下用cookie的问题

yiyioo 2006-11-16 04:17:06
因为二级域名之间不能使用使用session,网上搜了一下,基本上都是用cookie来做,两个二级域中能共用cookie了,但是却怎么也清除不了了....

很是奇怪...

大家有空指点一下.谢了/`

web界面上放了三个按钮,增加cookie,删除cookie,和显示cookie

//增加
protected void Button1_Click1(object sender, EventArgs e)
{
//增加方式1
HttpCookie cookie = new HttpCookie("User");
cookie.Value = "yiyioo";
cookie.Expires = DateTime.Now.AddMinutes(3);
cookie.Domain = "test.com"; //在test.com下
Response.Cookies.Add(cookie);

//增加方式2
Response.Cookies["UU"].Domain = "test.com";
Response.Cookies["UU"].Expires = DateTime.Now.AddMinutes(3);
Response.Cookies["UU"].Value = "ssssss";


}

//使cookie过期
protected void Button2_Click(object sender, EventArgs e)
{
//对于第一种方式的处理
HttpCookie cookie = Request.Cookies["User"];
if (cookie != null)
{
cookie.Expires = DateTime.MinValue;
Response.Cookies.Set(cookie);
}

if (Request.Cookies["User"] != null)
{
Response.Write("ssss" + Request.Cookies["User"].Value);
}

//对于第二种方式的处理
if (Request.Cookies["UU"] != null)
{
Response.Cookies["UU"].Expires = DateTime.MinValue;
Response.Cookies["UU"].Value = "";
Response.Write("OK");
}
}

//显示所有cookie
protected void Button3_Click(object sender, EventArgs e)
{
for (int k = 0; k < Request.Cookies.Count; k++)
{
Response.Write(Request.Cookies[k].Name + "-----" + Request.Cookies[k].Value + " ---- " + Request.Cookies[k].Domain + "<br>");
}
}

以上两种方式代码均完全执行,却无法清除cookie

另:为什么指定了cookie的Domain,循环输出时却无法获得Domain,其值为空



...全文
334 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyioo 2006-11-17
  • 打赏
  • 举报
回复
只能up一下了,唉~```````````````
yiyioo 2006-11-17
  • 打赏
  • 举报
回复
考虑是否可以用缓存来代替cookie,而且感觉从性能和安全性上都优于cookies(除了服务器负担),
可是为什么网上没有类似的方案呢?是否我哪儿没考虑到呢....

yiyioo 2006-11-17
  • 打赏
  • 举报
回复
to:softfire007

是指清除的时候也必须设置domain吗?

我似乎试过,没用..
softfire007 2006-11-16
  • 打赏
  • 举报
回复
要设置 domain
lovexiaomantou 2006-11-16
  • 打赏
  • 举报
回复
不要写代码吗?我看了是有这个.好象要代码来判断吧!不过还是不懂!不好意思啊!你能说明白点吗?
yiyioo 2006-11-16
  • 打赏
  • 举报
回复
C:\WINDOWS\system32\drivers\etc\hosts

如果你能操作服务器,你就打开面的路径下的这个hots文件(这是xp路径,2000或者2003可能是WindowsNT)里面应该有个默认的
127.0.0.1 localhost
你就按照他的格式,
你站点的ip 二级域名

示例:
192.168.0.5 blog.abc.com
192.168.0.5 xxxx.abc.com

试一下吧~
lovexiaomantou 2006-11-16
  • 打赏
  • 举报
回复
你好!你能教我怎么实现二级域名吗?我找了好多的资料,都实现不了.你能告诉我吗?谢谢!公司叫我实现这个.实现了很久都没有实现.现在老板看见我眼神都不一样了.你能帮帮我吗?
yiyioo 2006-11-16
  • 打赏
  • 举报
回复
如果我不设置Domain我试过是可以的
可是设置了跟二级域名共象这个cookie了,就不行了

唉`
yiyioo 2006-11-16
  • 打赏
  • 举报
回复
我上面的代码大概就是这个意思,,,但是它无法清除掉cookie
执行删除cookie的按钮后, 再点击显示cookie,这两个cookie还在啊~~
唉```
hegang888888888 2006-11-16
  • 打赏
  • 举报
回复
举例说明如下
国际玉米: www.sina.com
二级玉米: blog.sina.com

首先从国际玉米下的登陆窗口登陆
并在登陆成功的时候将cookies的domain设置为".sina.com"
如: response.cookies("ceshi").domain=".sina.com"

在二级玉米: blog.sina.com 中的所有文件顶部都引用一个文件
该文件中加如如下代码:
if session("test")="" then
session("test")=response.cookies("ceshi")
else
session("test")=""
end if

登陆后能够正常使用二级玉米下的所有会员功能

但是问题出现了:
当在二级玉米下使用退出功能(退出功能将该域下的cookies("ceshi")删除)后,
如果再次从国际玉米登陆,然后再进入二级玉米后,登陆不成功(也就是说则cookies("ceshi")为空)

二级玉米对应退出的代码如下:
session("test")=""
session.Abandon()
response.Cookies("ceshi")=""


yiyioo 2006-11-16
  • 打赏
  • 举报
回复
石沉大海了
往上up~~`

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧