为什么不重用“ASP.NET_SessionId”?

2023-12-31

我是 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.

  1. 访问 www.dodgyhacker.com,他们有一个不可见的 iframe,其中包含 www.yoursite.com 的登录页面。他们可以看到 cookie 并将其发送到远程服务器
  2. 现在导航到 www.yoursite.com,cookie 未更改并且您登录
  3. 狡猾的黑客现在可以使用您的会话 cookie 并获得对系统的完全访问权限

实际上,还有其他方法可以防止这种情况,而且我不是黑客,所以这可能有点错误,但这些是基本步骤

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么不重用“ASP.NET_SessionId”? 的相关文章

  • 当用户再次访问同一页面时保持登录状态?

    目前我正在使用会话来登录用户 但是当我关闭浏览器并再次打开它时 我必须再次登录 你如何让用户在 2 周内保持登录状态 那么是通过cookie吗 那么您想要 在这台计算机上记住我 选项吗 这是一种与语言无关的方法 创建一个至少包含以下内容的数
  • 如果使用 jQuery 隐藏了 ASP:Button,我无法单击该按钮?

    我发现 StackOverFlow 答案和其他资源说您可以通过 jQuery 单击隐藏的 ASP Button click or trigger click 然而 这些都不适合我 除非按钮是 Visible true 这是按钮
  • Django HTTPS 和 HTTP 会话

    我使用 Django 1 1 1 和 ssl 重定向中间件 通过 HTTPS 创建的会话数据 身份验证等 在站点的 HTTP 部分中不可用 无需将整个站点设置为 HTTPS 即可使其可用的最佳方法是什么 这是设计使然 您无法轻易更改 当通过
  • requestValidationMode 2.0 和 4.0 有什么区别

    这是 MSDN 的定义 4 0 默认值 HttpRequest 对象在内部设置一个标志 指示每当访问任何 HTTP 请求数据时都应触发请求验证 这保证了在请求期间访问 cookie 和 URL 等数据之前触发请求验证 配置文件中的页面元素
  • 为什么在 C# 中使用 String.Concat()?

    我想知道这个问题有一段时间了 为什么使用String Concat 而不是使用 操作员 我明白了String Format因为它是一个空洞使用 运算符并使您的代码看起来更好 例如 string one bob string two jim
  • 无法加载 SQL Server Compact 的本机组件

    我已经在 Win7 x64 上安装了 SQL Server Compact Edition 4 0 它可以运行于 Asp Net 和桌面应用程序 此 PC 还安装了 Visual Studio 2010 SP1 但是我的 Server 20
  • 如何将会话管理添加到简单的 Perl CGI 网页?

    我有一个简单的网页 到目前为止不需要任何登录 它是用 Perl CGI 编程的 我想知道添加会话支持以便获得登录信息的步骤 我不需要非常复杂的方法 因为网页非常简单 另外 我想要一些关于支持 Perl 会话所需的技术 库的建议 我在很多很多
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • 通过 SharpDX 渲染 Direct2D 图像时如何使用内存流而不是文件?

    设置 考虑使用给定的临时程序SharpDX http code google com p sharpdx Direct 库的托管包装器 用于渲染位图并将其保存为 PNG namespace ConsoleApplication5 using
  • RegularExpressionValidator.ValidationExpression 强制长度为 10 或 12 个符号

    RegularExpressionValidator ValidationExpression d 10 仅表示数字 最多 10 位 RegularExpressionValidator ValidationExpression d 10
  • 在会话 cookie 中存储大量数据会产生什么影响?

    谁能解释一下在会话中存储大量数据的缺点或给我指出一些阅读材料 我也很感兴趣在会话中存储数据和从数据文件读取数据之间是否有任何区别 如果您在会话中存储大量数据 则输入 输出性能会下降 因为会有大量读取 写入 默认情况下 PHP 中的会话存储在
  • 在 ASP.NET 中加密 cookie

    我想在 ASP NET 中加密 cookie 我已关注本文的方法 http www codeproject com KB web security HttpSecureCookie aspx 但它有一个缺点 那就是在内部方法上使用反射 这导
  • 如何在静态方法中获取会话变量的值?

    我正在使用带有 jQ uery 的 ASP NET 页面方法 如何在 C 中的静态方法中获取会话变量的值 protected void Page Load object sender EventArgs e Session UserName
  • 当路径长度超过 260 个字符时 System.IO.DirectoryNotFoundException [重复]

    这个问题在这里已经有答案了 我有 ASP NET Core MVC 项目 针对 NET 4 62 我正在尝试保存文件 当路径长度低于 260 或 248 我不确定 时 一切正常 但是当路径长度更长时 我会得到一个System IO Dire
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • ASP.Net 应用程序中的音频/视频/文本聊天

    我需要在 ASP Net 中开发一个聊天系统 我已经浏览了很多关于类似主题的问题 但没有找到任何一个令人满意的 是否可以从头开始创建它 或者我是否需要使用一些 API 我的要求仅限于我的网站用户 可以说基于内联网 请帮我 要进行文字聊天 人
  • Web 表单中的 IRouteHandler:路由需要 HttpContext.User 的请求

    我正在尝试向 Asp Net Web Forms 应用程序添加一个非常基本的路由 在 IIS 7 下运行 集成模式 http mydomain com foo http mydomain com foo 我想显示动态页面的结果 http m
  • 正则表达式最多匹配五个单词

    我有一个正则表达式 a zA Z 0 9 1 5 它验证该单词包含字母数字字符和少数特殊字符 并且长度不应超过5人物 如何使此正则表达式接受最多五个与上述正则表达式匹配的单词 a zA Z 0 9 1 5 s a zA Z 0 9 1 5
  • 显式删除会话cookie会产生什么影响?

    我使用 php session 来维护用户的会话 Session 在登录后创建 在注销或超时后销毁 我需要管理面板中的一个选项来强制注销任何用户 如果他在网站上处于活动状态 我怎样才能做到这一点 我正在考虑删除临时会话文件 这应该有效地破坏
  • 自定义错误页面未显示

    由于某种原因 当我收到 ASP NET 运行时错误时 它不会加载我的自定义错误页面

随机推荐