即時通訊有一個簡單的登錄頁面,我使用asp.net c#創建。我試圖做的是檢索用戶級別並將其分配給會話並根據級別重定向到適當的頁面。但是,當我登錄什麼發生..下面是我的代碼。有人能告訴我我的代碼有什麼問題嗎?在asp.net中使用會話驗證登錄級別#
con.Open();
com.CommandText = "Select * from deatls Where c_id = '" + TextBox1.Text + "' and password = '" + TextBox2.Text + "'";
com.CommandType = CommandType.Text;
com.Connection = con;
SqlDataReader sqlread = com.ExecuteReader();
if (sqlread.Read())
{
Session["level"] = sqlread["level"];
}
if ((int)Session["level"] == '1')
Response.Redirect("customer_menu.aspx");
if ((int)Session["level"] == '2')
Response.Redirect("front.aspx");
if ((int)Session["level"] == '3')
Response.Redirect("manager.aspx");
else
Response.Redirect("login.aspx");
con.Close();
也就是一些真正具有安全缺陷SQL代碼。請不要在生產中使用它,這正是黑客試圖做的[SQL注入攻擊](http://en.wikipedia.org/wiki/SQL_injection)。 –
爲什麼不用一個調試器遍歷它,檢查查詢返回的是什麼,檢查Session [「level」]是否被賦值等。 –
@LiveEn:如果sqlread.Read()返回false會發生什麼?你需要測試這種情況。 – Taylor