我是 ASP.NET 新手,我不明白为什么不重用“ASP.NET_SessionId”?
据我了解,每次用户从服务器请求页面时,IIS 都会为他创建一个“ASP.NET_SessionId”并将其放入用户浏览器的 cookie 中。
我在这里读到:https://support.microsoft.com/en-us/kb/899918 https://support.microsoft.com/en-us/kb/899918并且不明白为什么我应该在用户注销后删除这个 cookie。
It says:
有时,您可能不想重复使用会话 ID。如果你这样做并且如果
您了解不重用会话 ID 的后果,请使用
以下代码示例放弃会话并清除
会话 ID cookie:
会话.放弃();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
您能否解释一下删除此 cookie 的优点以及重新使用它的缺点是什么?
如果你不删除它并且你正在使用http那么这是一个安全风险
e.g.
- 访问 www.dodgyhacker.com,他们有一个不可见的 iframe,其中包含 www.yoursite.com 的登录页面。他们可以看到 cookie 并将其发送到远程服务器
- 现在导航到 www.yoursite.com,cookie 未更改并且您登录
- 狡猾的黑客现在可以使用您的会话 cookie 并获得对系统的完全访问权限
实际上,还有其他方法可以防止这种情况,而且我不是黑客,所以这可能有点错误,但这些是基本步骤
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)