我的登录页面中有此代码:
Session["user"] = user.Text;
cmd.Parameters.AddWithValue("@user", Session["user"]);
reader = cmd.ExecuteReader();
我看到了这个链接how safe is it to use session variables - asp.net / c#
我想知道是否需要更改此类登录信息。
我的问题是,它是否可以安全地使用会话,以及是否可以从其他用户窃取会话并以该用户或类似的方式进入该网站。
我尝试使用会员资格,但我无法更改注册表,因此我转到会话。
答案 0 :(得分:1)
只要您使用 HTTPS ,使用会话状态来跟踪当前登录用户即可。会话变量存储在服务器内存(默认情况下)。
中我们在Classics ASP和ASP.Net 1.0 中使用了类似的方法(在ASP.Net 2.0中成为会员之前)。
主要缺点是维护。当应用程序具有太多页面和太多具有不同授权的用户时,很难维护。
答案 1 :(得分:0)
正如已经说过的那样,只要您使用https协议并且您的应用程序服务器是安全的,您就不必担心会话安全性。
但您应该考虑使用Identity框架而不是旧的Membership框架。 自2013年以来,Identity是新的身份验证.NET标准,允许SSO,角色提供者,基于声明的身份验证等......
请参阅http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity了解您应该选择身份而不是会员资格的原因