gpt4 book ai didi

asp.net - 在 SignOut() 之后使用浏览器的后退按钮允许访问安全页面 (ASP.NET MVC)

转载 作者:行者123 更新时间:2023-12-01 18:43:19 24 4
gpt4 key购买 nike

我有一个 MVC 应用程序,它使用 [Authorize] 来保护私有(private)位。当我选择 SignOut() URL 时,它会将我注销,但如果我点击浏览器上的后退按钮,它会转到安全页面,甚至允许我使用该表单。该操作发生,然后显示我已退出。问题是它执行安全操作(将一行插入我的数据库)。然后我可以再次使用后退按钮并重新开始。如果我在注销后使用后退按钮并点击浏览器刷新,它确实会显示我已注销并拒绝我访问安全页面。

我错过了什么重要的事情吗?看起来这可能是一个非常大的安全问题。

public ActionResult LogOff(string ReturnUrl)
{

FormsAuth.SignOut();

if (!String.IsNullOrEmpty(ReturnUrl))
{
return Redirect(ReturnUrl);
}
else
{

return RedirectToAction("Index", "Page");
}
}

最佳答案

我认为问题在于浏览器缓存了页面。这就是为什么在您单击后退按钮后它不会重新加载页面。如果您在 header 中指定不应缓存页面,则应在单击后退按钮后重新加载页面。然后用户被拒绝。

但是,在某些情况下要使其正常工作可能会很棘手。看这个Caching Tutorial了解更多信息。

关于asp.net - 在 SignOut() 之后使用浏览器的后退按钮允许访问安全页面 (ASP.NET MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com