Asp.net mvc 5 如何在ASP.NET MVC中保证客户端数据安全
我正在使用ASP.NETMVC5。我想保留客户请求的id。需要在服务器端为另一个ajax请求使用此id。无法保存在HttpContext.Items中,因为它是单请求生存期。我不想把它藏在隐蔽的地方。可以从客户端更改隐藏字段值。我也不想保持会话状态,因为只有一些请求需要这个id,而不是总是需要。所以我想知道,有没有其他技术可以保证这个id的安全。状态管理类型 客户端Asp.net mvc 5 如何在ASP.NET MVC中保证客户端数据安全,asp.net-mvc-5,Asp.net Mvc 5,我正在使用ASP.NETMVC5。我想保留客户请求的id。需要在服务器端为另一个ajax请求使用此id。无法保存在HttpContext.Items中,因为它是单请求生存期。我不想把它藏在隐蔽的地方。可以从客户端更改隐藏字段值。我也不想保持会话状态,因为只有一些请求需要这个id,而不是总是需要。所以我想知道,有没有其他技术可以保证这个id的安全。状态管理类型 客户端 视图状态 饼干 控制状态 1.视图状态: 视图状态提供页面级状态管理,即只要用户在当前页面上,状态就可用,并且用户重定向到下一页,
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
if (ViewState["count"] != null)
{
int ViewstateVal = Convert.ToInt32(ViewState["count"]) + 1;
Label1.Text = ViewstateVal.ToString();
ViewState["count"]=ViewstateVal.ToString();
}
else
{
ViewState["count"] = "1";
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text=ViewState["count"].ToString();
}
2.Cookies:
a。持久性Cookie:可以设置到期日期和时间的Cookie称为持久性Cookie。持久性Cookie将永久存储到您设置的时间
让我们看看如何创建持久性cookies。有两种方法,第一种是:
Response.Cookies["nameWithPCookies"].Value = "This is A Persistance Cookie";
Response.Cookies["nameWithPCookies"].Expires = DateTime.Now.AddSeconds(10);
第二个是:
HttpCookie aCookieValPer = new HttpCookie("Persistance");
aCookieValPer.Value = "This is A Persistance Cookie";
aCookieValPer.Expires = DateTime.Now.AddSeconds(10);
Response.Cookies.Add(aCookieValPer);
b。非持久性Cookie:非持久性Cookie不会永久存储在用户客户端硬盘文件夹中。只要用户访问同一浏览器,它就会维护用户信息。当用户关闭浏览器时,cookie将被丢弃。非持久性cookie对于公共计算机很有用
让我们看看如何创建非持久性cookies。有两种方法,第一种是:
Response.Cookies["nameWithNPCookies"].Value = "This is A Non Persistance Cookie";
第二种方式是:
HttpCookie aCookieValNonPer = new HttpCookie("NonPersistance");
aCookieValNonPer.Value = "This is A Non Persistance Cookie;
Response.Cookies.Add(aCookieValNonPer);
如何读取cookie:
if (Request.Cookies["NonPersistance"] != null)
Label2.Text = Request.Cookies["NonPersistance"].Value;
3。控制状态
如何使用控件状态属性:控件状态实现很简单。首先重写控件的OnInit()方法,并使用要注册的控件实例添加对
Page.registerRequestResControlState()方法的调用。然后重写LoadControlState
和SaveControlState
,以保存所需的状态信息。谢谢您的回答。这是web表单,而不是像标题所说的mvc