如何检查Classic ASP中是否启用了会话cookie?

时间:2008-11-12 17:22:35

标签: session cookies asp-classic session-variables

经典ASP 中有什么优雅的方法来检查是否在使用服务器端代码的用户浏览器中启用了会话cookie(因为javascript也可能被禁用)。

我有自己的解决方案,但它看起来很难看。

@James - 虽然没有区分设置会话cookie和通用cookie(IE允许你区分第一方,会话Cookie和第三方,但我看到Firefox只能区分第一方和第三方派对)?我在登录页面中设置会话值,然后执行Response.Redirect有点事情并检查会话值是否仍然有效。

2 个答案:

答案 0 :(得分:2)

除非您在Cookie上指定过期,否则 会话Cookie。术语会话在HTTP中有点过载。当IE对话框引用会话cookie时,它表示任何仅存储在进程内存中而不会持久保存到磁盘的cookie,因此仅在进程(会话)期间存在。启动另一个IExplore.exe进程,你有另一个会话,它将没有任何以前或现有的会话cookie的值。

您是正确的,但您可以通过仅在会话对象中存储值并测试其在重定向上的存在来测试是否阻止会话级cookie。

答案 1 :(得分:1)

好吧,我们使用的“丑陋地狱”方法是设置一个cookie并重定向到一个新页面。在新页面的代码中,查看cookie是否已设置。因为在设置cookie时,到达第二页的唯一方法是重定向,所以它的存在与否应该告诉浏览器的状态。