2

在我的网站中,我使用会话变量来维护登录表单中的“电子邮件”字段值,为了注销,我将用户重定向到另一个页面并将会话变量设置为 null。我的问题是:以这种方式实现登录和注销过程是否安全?以及在以下程序中执行此操作的最佳方法是什么

public partial class Staff : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

            string value = Session["email"].ToString();                
            Classes.AddAddress addcuid = new Classes.AddAddress(value);             
            staffNamelbl.Text = addcuid.addStaffName().ToString();                               
    }
}

}

public partial class Logout : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        Session["email"] = null;
        Response.Write("you logged out from system!");
    }
}
4

2 回答 2

2

我认为您拥有它的方式非常安全。注销时使用
Session.Abandon() ,然后将用户重定向到您的主页Response.Redirect("Default.aspx")

用于在匹配密码后登录存储电子邮件,Session("user") = email并在每次访问应用程序的受限部分时检查会话是否处于活动状态

if (Session.Item("user") == null) {
    Response.Redirect("Default.aspx");
else 
\\grant access

如果您正在访问数据库以匹配用户凭据,请确保您使用准备好的语句或参数化 sql 查询。

于 2013-07-15T17:46:43.997 回答
2

对于在 ASP.NET 和 MVC 应用程序中登录和注销的安全方式是使用内置的 Microsoft Web Security 类和方法。以下是有关 WebSecurity 类的信息:http: //msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity (v=vs.111).aspx

于 2013-07-15T17:32:16.100 回答