0

我正面临 cookie 的一个大问题。

我的域名是 abc.com

在我第一次登录 facebook connect 时,facebook 在我的电脑上创建了一个 cookie

cookie name fbs_12345
cookie value gdgdfgdf
cookie host: abc.com

然后在我从 facebook connect 注销后。此时我尝试通过设置 cookie date-10 来删除 cookie 但失败了,唯一成功的是将 cookie 值设置为“”

然后我再次通过 facebook connect 重新登录,facebook 在我的电脑上创建了另一个 cookie

cookie name fbs_12345
cookie value gdgdfgdf
cookie host: .abc.com   (with a dot in front)

此时,我无法访问cookie了,显然是由于cookie主机,一个没有前缀点,一个有前缀点

如果我删除其中一个 cookie,则会显示另一个 cookie 值。

有什么方法可以彻底清除第一个 cookie?

......

Function printCookie

dim x,y
for each x in Request.Cookies

  response.write("<h3>")

  if Request.Cookies(x).HasKeys then

    for each y in Request.Cookies(x)

      response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
      response.write("<br />")

    next

  else

    Response.Write(x & "=" & Request.Cookies(x) & "<br />")

  end if

  response.write "</h3>"

next

End function
4

1 回答 1

0

我终于找到了彻底清除 facebook 在我的电脑上创建的 cookie 的解决方案。经测试可与 chrome、firefox、IE8 一起使用。

对于我的情况,将 cookie 设置为过期不起作用。

适合我的解决方案:

在 ASP 经典中,将 cookie 值设置为空,并将 cookie 托管到其他域。完成此操作后,此特定 cookie 将消失。

Response.Cookies("fbs_" & FACEBOOK_APP_ID) = ""

Response.Cookies("fbs_" & FACEBOOK_APP_ID).Domain = "anyotherdomain.com"

我相信如果在php中编写代码,它会更简单,感谢这篇文章给出的cookie删除想法:

在用户注销时从我的应用程序中删除 facebook 会话 cookie

于 2011-01-26T04:05:23.077 回答