Cookies 检查特定子域上是否存在重复的cookie?

Cookies 检查特定子域上是否存在重复的cookie?,cookies,asp-classic,vbscript,Cookies,Asp Classic,Vbscript,我试图找出如何删除cookie,而不必每次都通过这个vbscript编写会话cookie 我们有两个cookie,第一个设置在网站运行的域上 response.AddHeader "Set-Cookie","cookie1=value;expires=Sun, 18-Jan-2037 00:00:00 GMT;path=/" 这将域设置为a.sitename.com。对于新版本,我们将cookie设置为主域 response.AddHeader "Set-Cookie","cookie1=va

我试图找出如何删除cookie,而不必每次都通过这个vbscript编写会话cookie

我们有两个cookie,第一个设置在网站运行的域上

response.AddHeader "Set-Cookie","cookie1=value;expires=Sun, 18-Jan-2037 00:00:00 GMT;path=/"
这将域设置为a.sitename.com。对于新版本,我们将cookie设置为主域

response.AddHeader "Set-Cookie","cookie1=value;expires=Sun, 18-Jan-2037 00:00:00 GMT;domain=sitename.com;path=/"
我需要删除
a.sitename.com
域上的cookie,而不删除
sitename.com
域上的cookie

我发现我可以将cookie设置为在今天之前过期,并在会话结束时将其清除。但我不想每次通过这段代码删除一个新cookie,使其在会话结束时过期

If( some check here ) then
  response.AddHeader "Set-Cookie","cookie1=value;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/"
End If

vbscript中检查特定子域上是否存在cookie,而根域上是否存在具有相同名称和值的cookie的最佳方法是什么?

您必须意识到,出于安全目的,浏览器将对某些功能和数据进行沙箱处理。因此,它不会在HTTP请求中告诉您cookie设置为哪个域。它只向您的服务器发送浏览器认为对请求有效的cookie,然后您只看到cookie名称和值

你不能那样做。“这里有些检查”根本没有服务器端的信息

浏览器根据用户正在浏览的域知道要发送哪些cookie。但是,发送给您的cookie标头不包含该信息

一些建议:

  • 使用不同的cookie名称
  • 如果您无法更改cookie名称,请确保cookie中存储的数据以某种方式向后兼容旧值,并且您将能够优雅地处理数据的两种“格式”
  • 我最近遇到了一个特殊情况:我的生产cookie(mysite.com)干扰了我的测试cookie(test.mysite.com)。我的解决方案是为我的测试环境创建一个自定义主机条目,并以test-mysite.com的身份访问它,这样就不会有cookie冲突
希望这有帮助