如果我輸入正確的ID我都低於這個簡單的登錄頁面,無法顯示「錯誤PW」
+ PW - >成功(我想)
如果我輸錯ID- >錯誤登錄(我想要)
但是,如果我輸入正確的ID +錯誤的ID,我希望它說錯了密碼。
我該怎麼辦?
謝謝。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["X"] != null)
{
Response.Redirect("MemberPage.aspx");
}
}
SqlConnection cnn = new SqlConnection("Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;");
protected void Button1_Click(object sender, EventArgs e)
{
cnn.Open();
SqlCommand cmd = new SqlCommand("SELECT FirstName,LastName FROM Employees", cnn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
if (TextBox1.Text == dr.GetString(0) || TextBox2.Text == dr.GetString(1))
{
Session["x"] = TextBox1.Text;
Response.Redirect("MemberPage.aspx");
}
else
{
Label2.Text = "wrong login";
}
}
}
cnn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("Register.aspx");
}
}
您的Employees表中記錄了多少用戶?如果您有多個用戶註冊,則此代碼存在嚴重問題 – Steve
您應該**從不顯示任何消息,如「錯誤的密碼」或「錯誤的用戶名」。始終給出一個模糊的錯誤消息,說明用戶名或密碼錯誤。否則,你會向攻擊者提供用戶名正確的提示,而你永遠不應該這樣做。 –
@ LasseV.Karlsen謝謝。 –