当用户在MVC Razor中注销后按下“后退”按钮时,如何阻止身份验证
本文关键字:按钮 后退 身份验证 何阻止 MVC 用户 Razor 注销 | 更新日期: 2023-09-27 18:23:52
我已经在我的GET方法中编写了防止用户身份验证的代码,如下
if (!string.IsNullOrEmpty(Session["UserName"].ToString()))
{
MyConnection mycon = new MyConnection();
string str = "";
int res = 0;
if (Request.QueryString.ToString().Contains("ID1"))
{
str = "Delete from PostTable where PostID=" + Request.QueryString["ID1"];
res = mycon.IODPost(str);
}
return View(AllPostList());
}
else
{
return RedirectToAction("Home", "Home");
}
但当我在注销后按浏览器中的"后退"按钮时,页面会回发到上一页,这是无法完成的。。那么我该怎么做才能防止这种情况发生呢?
因此在您的示例中存在一些不好的做法。
-
注意sql注入-使用ADO.NET SqlCommand和SqlCommandParameter类创建查询。
-
ASP MVC具有像[Authorized]、[AllowAnonymous]这样的属性,可以为每个请求指导应用程序工作流。您可以在控制器级别或方法级别添加这些。
-
再次检查"会话["用户名"].ToString()"是否为空
一些链接:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx
http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.108).aspx#using_authorizeattribute
希望这对有帮助