谷歌,Facebook如何处理用户会话?

时间:2015-08-18 00:57:38

标签: javascript asp.net

我想在我的asp.net应用程序中实现会话,该会话在用户注销之前永不过期,在重新启动PC后会话必须处于活动状态,我在某些站点中看到过相同的功能,例如Google,他们如何管理会话?

3 个答案:

答案 0 :(得分:2)

您正在寻找的是一种持久性Cookie。

相关答案:How to create persistent cookies in asp.net?

答案 1 :(得分:0)

我不是百分百肯定,但我肯定他们使用身份验证cookie。有一篇关于这个here的有趣帖子,还有其他一些外部链接。希望它有所帮助。

答案 2 :(得分:0)

我认为Google或Facebook不会让用户和用户保持联系。会议永远活着。当用户继续回到他们的网站时,他们会重置过期并进一步推进。

使用Session Cookie管理会话。会话cookie是一个句柄值,与浏览器一起存储,并为网站提供特定会话的唯一ID。

进行这个小实验,访问facebook.com并使用您的帐户登录。然后在URL栏中键入以下内容并按Enter键

javascript:alert(document.cookie);

请务必输入领先的 javascript:某些浏览器在复制粘贴中省略该部分

你会看到一个这样的弹出框。

Javascript dialog showing facebook cookie

很明显,Facebook的会话cookie被称为presence

现在运行以下内容并在之后刷新Facebook窗口。

javascript:window.execScript("document.cookie=''");

Facebook要求您登录正确吗?因为你清理了你的facebook cookie,现在facebook不知道你是谁。

现在,大多数服务器端脚本技术(如ASP.NET)都不会使其会话cookie持久化,这是正确的,因为您不希望所有数据都是持久的,以便用户能够返回。您可能只想以某种方式登录信息。为此,您需要创建自己的cookie,并且必须在Login.aspx.cs上检查该cookie。

在Cookie中保存用户详细信息时需要考虑的一些事项,例如添加用户ID,用户代理和加密Cookie。您需要用户代理或任何其他方式来唯一标识用户的计算机以保护您的用户免受中间人攻击,一些网站保留IP地址并且每次登录页面找到时都匹配IP那个饼干。

要了解有关存储持久性Cookie的更多信息,请check MSDN