【问题标题】:Prevent LoggedOut users from viewing user-only-pages from browser history防止 LoggedOut 用户查看浏览器历史记录中的用户专用页面
【发布时间】:2014-10-22 20:01:56
【问题描述】:

在我的 ASP.NET MVC (5) 应用程序中,没有使用会话来识别用户是否登录。相反,我在查询字符串或隐藏字段中使用了一些加密值。

但刚才我意识到任何人都可以访问浏览器历史记录中的那些仅限用户的页面。

有解决这个问题的办法吗?

更新:大多数 MVC 操作通过 ajax 发送部分 html/json。

更新:

    [OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
    public ActionResult Index()
    {
        return View(); // I want it from viewing from browser cache.
    }

【问题讨论】:

  • “相反,我在查询字符串或隐藏字段中使用了一些加密值。” - 这听起来对我来说非常不安全......

标签: c# asp.net-mvc


【解决方案1】:

您需要在需要经过身份验证的用户的页面上禁用缓存,例如

Response.Cache.SetCacheability(HttpCacheability.NoCache)

另见:Prevent Caching in ASP.NET MVC for specific actions using an attribute

【讨论】:

  • 您能否提供更多关于您如何实现它以及它到底在做什么的详细信息?
  • @SKPaul 您的视图如何确定用户是否登录,以及在确定用户是否登录时它会做什么?
猜你喜欢
  • 1970-01-01
  • 2012-04-23
  • 2012-08-19
  • 2018-03-02
  • 1970-01-01
  • 2019-07-20
  • 2017-11-02
  • 2015-02-05
  • 2012-04-14
相关资源
最近更新 更多