经典Asp:Cookie损坏问题

时间:2011-02-21 12:14:16

标签: cookies asp-classic corruption

有一个ASP应用程序与其他.net网络应用程序共存。 asp页面的cookie实际上是从aspx页面写入客户端的。所以我们有类似的东西:

Response.Cookies("Credo")("ID") = "ido sans lum"

发送给客户。

ASP页面收到此cookie,但奇怪的是提供了损坏的结果:

sID = Request.Cookies("Credo")("ID") ' this gives "idosanslum"

不幸的是我不明白为什么。我检查了ASP中的HTTP_COOKIE服务器变量,甚至它说了如下:

HTTP_COOKIE:...;Credo=ID=ido sans lum&DomainID=5&...;...

所以我相信这意味着cookie正在从浏览器中正确发送,但是Request.Cookies("Credo")("ID")给了我错误的结果。

我搞砸了一些配置,或者这是一个已知的错误。

1 个答案:

答案 0 :(得分:2)

Microsoft支持网站上有一篇关于此问题的知识库文章:http://support.microsoft.com/kb/262444

希望这有帮助。

更新: 本文提出的修复方法是对您的cookie内容进行编码。在Classic ASP中,我认为以下内容可行:

Response.Cookies("Credo")("ID") = Server.URLEncode("ido sans lum")

请放手一下,告诉我你的发现。