在配置文件中,我有以下设置
sessionState 模式="InProc"cookieless="false"
这是否表明 sessionid 是在 cookie 中存储的?如果是,那么它是如何被挑选并发送到服务器的,以及它是如何在回发中验证的。
如果在我的浏览器中禁用 cookie 会发生什么, session ( session ID 和 session 变量)是否仍会创建?
默认情况下为 session 创建和存储的 cookie 在哪里(默认路径),我可以更改路径吗?
session 的 cookie 中存储了哪些格式和类型的数据?
如果我在 session 中存储一个类对象,那么实际存储在 cookie 中的是什么?
此外,如果我将身份验证模式用作带有 cookie 的表单,那么如果在浏览器中禁用 cookie 会发生什么?
最佳答案
session cookie 是一种特殊的非持久性 cookie。它只存储在内存中,因此在大多数情况下,即使禁用了 cookie,它仍然可以正常工作。
也可以启用一种称为 cookieless session 的东西,其中 sessionID 嵌入在 URL 中,如下所示:
http://yourserver/folder/ (此处为加密 session ID)/default.aspx
这是 MSDN 文章的链接,其中包含更多详细信息:http://msdn.microsoft.com/en-us/library/aa479314.aspx
注意:可以完全阻止 session cookie。例如,在 IE8 中,我只是进入工具 > Internet 选项 > 隐私。当我将 slider 调到“高”或更高时,我的网站从未通过登录屏幕,因为 session cookie 被阻止 - 事实上,乔什·斯托多拉在下面说,在这种情况下,甚至永远不会在服务器上创建 session 。
但是,请了解此类行为有效地破坏了 Internet。因此,除非您正在建立一个针对阴谋论者的网站,否则在我看来(以及世界上大多数最大网站的观点),没有必要迎合极少数不按正常规则玩的用户.
对他们来说,互联网并没有按照应有的方式运作。
关于asp.net - 如果在客户端机器上禁用 cookie, session 存储在哪里? session 中实际存储了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1401325/