首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ADO.NET DataReader 讀取數據庫用戶密碼驗證邏輯解析

     編輯:程式設計綜合問答

代碼片段:

if (reader.Read()) {
    int UserID = reader.GetInt32(0);
    string Password = reader["UserPassword"].ToString();
    string Password0 = tbUserPassword.Text;
}

逐行解析

  1. reader.Read():推進到下一行,**返回 true 表示有數據**,false 表示結束。
  2. reader.GetInt32(0):讀取第 0 列(通常為 ID),強類型獲取 int。
  3. reader["UserPassword"]:按列名讀取密碼列,**返回 object**,需 ToString()。
  4. tbUserPassword.Text:獲取前端文本框用戶輸入的密碼明文。

後續驗證邏輯(補全)

if (Password == Password0) {
    // 登錄成功,跳轉
    Session["UserID"] = UserID;
    Response.Redirect("Main.aspx");
} else {
    lblError.Text = "密碼錯誤";
}

安全警示

  • **明文存儲/比對密碼極度不安全**!生產環境必須:
  • 註冊時:hash = BCrypt.HashPassword(password) 存 hash。
  • 登錄時:BCrypt.Verify(password, hash) 驗證。
  • 使用參數化查詢防注入:cmd.Parameters.AddWithValue("@user", username)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved