【问题标题】:Is ASP.net httpcontext cache object secure enough to store (relatively) sensitive information in it?ASP.net httpcontext 缓存对象是否足够安全,可以在其中存储(相对)敏感信息?
【发布时间】:2012-09-10 20:52:06
【问题描述】:

我发现 ASP.net httpcontext 缓存对象可以通过减少在特定场景中引用数据库的次数来帮助提高 Web 应用程序的性能。我决定将成功登录后生成的用户对象放入 httpcontext 缓存对象并将其保存在那里,以减少处理每个页面/请求时后续引用 DB 的数量。我不在该对象中保留密码或盐值,但我在用户对象中保留帐户到期日期等内容。我检查了以下链接

Security of cached data in .NET

看看这些解决方案是否适用于我的场景,但我无法推断那里的谈话可以应用于这种场景(将这些相对敏感的信息保存在缓存对象中)。

您能否说明这种缓存对象的使用是否足够安全以保存诸如帐户到期日期或帐户活动标志之类的内容?如果没有,您对在没有后续数据库调用的情况下手头有用户对象有什么建议。

P.S:由于每个应用程序池回收中发生的问题,我不想将该对象保留在会话对象中。

【问题讨论】:

    标签: asp.net caching state-management httpcontext.cache


    【解决方案1】:

    正如链接帖子所暗示的,它仅与您的应用程序、服务器基础架构和您编写代码的方式一样安全。缓存在应用程序范围内保存信息,这意味着如果您编写代码的方式存在安全漏洞,则在用户之间暴露用户特定信息的风险更高。

    只是顺便说一句 - 如果您因为应用程序池回收而遇到 Session 问题,使用缓存将无济于事。当应用程序池以与会话相同的方式回收时,缓存将被清除(如果会话配置为InProc)。事实上,如果你已经将 Session 配置为InProc,那么这些值实际上是存储在 Cache 中的!

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 2014-08-20
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      相关资源
      最近更新 更多