如何从cookie中取出当前用户的会话id

 我来答
蘑菇饭资讯
推荐于2017-09-22 · TA获得超过6万个赞
知道大有可为答主
回答量:1.7万
采纳率:90%
帮助的人:1.2亿
展开全部
什么是会话ID

会话ID是一种唯一标识当前访问服务器的客户的只读值。在经典的ASP环境下,会话ID是按照顺序方式被分配的,也就是说,会话ID 706616433之后跟着会话 ID 706616434等等。传统的ASP会话ID以加密的、非持久存在的cookie形式保存在客户机上。例如,会话ID 706616434就可能作为cookie ASPSESSIONIDGQQGQGCS=JHMBOBKCBINEHLPKJHOPABBE保存在客户机上。

ASP.NET下的会话ID有所变化。在使用 ASP.NET 时,会话ID是由URL合法ASCII字符组成的一个120位字符串。根据微软文档的说明,产生会话 ID 值采用了保证其唯一性的算法,从而避免出现两个客户试图采用同一ID时出现的会话冲突。另外,会话ID的随机性使得确定现有会话的ID变得非常困难从而带来了额外的安全性。同传统ASP一样,ASP.NET的会话ID通常也作为非持久保存的cookie存储在客户机上。这种cookie的格式同传统ASP相比稍有变化,例如,asp.net_sessionid=jhmbobkcbinehlpkjhopabbe。

除了维持状态的传统型的、非持久保存的cookie的方法之外,ASP.NET还支持一种不采用cookie的会话状态维持模式。在启用无cookie模式的情况下,ASP.NET在发送回客户机的URL中嵌入会话ID。这样就为使用不支持cookie或禁用cookie浏览器的客户提供了会话状态坚持。考虑到利用cookie跟踪客户信息的举动,我们有理由对无Cookie模式保持高度的关注。

如何使用会话ID

客户每发出一个请求,包含加密会话ID的cookie在存在的情况下即被发送给服务器。服务器随后确定cookie所关联的会话ID并恢复关联该客户的所有会话变量。如果cookie不存在就会生成一个新的会话ID,同时加密的会话ID cookie则被发送给客户机。这样就能让ASP跟踪访问网站的单个客户了。同时,以上机制还促使ASP建立服务器方会话变量同单一会话的关联关系。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式