PDA

View Full Version : Xử lí checkbox Remember Password trong asp.net



nemodn278
22-05-2009, 16:19
Hi mọi người!
Mình dùng cookie để lưu lại được username rùi nhưng mà password thì chưa được. Vì password đã mã hóa nên không lấy lên lại được hay sao ý. Khi logout thì chỉ có username là hiện lên thui.
Đây là code mình viết:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["remember"] != null)
{
HttpCookie cookie = Request.Cookies.Get("UserNameAndPassword");
tbUserName.Text = cookie.Values["UserName"].ToString();
tbPassword.Text = cookie.Values["Password"].ToString();
}
}
Viết 1 hàm WriteCookie():
protected void WriteCookie()
{
if(chbRemember.Checked==true)
{
HttpCookie cookie = new HttpCookie("remember", "yes");
Response.Cookies.Add(cookie);
cookie = new HttpCookie("UserNameAndPassword");
cookie.Values.Add("UserName", tbUserName.Text.Trim());
cookie.Values.Add("Password", tbPassword.Text.Trim());
Response.Cookies.Add(cookie);
}
}
Và ở chỗ xử lí nút Login thì gọi hàm WriteCookie() đó.

Help me please!!!!!!1

dq_ninh
23-05-2009, 02:17
Nếu đã dùng ASP.NET thì tại sao không dùng cái Login control của nó? Login control có sẵn tất cả và ..an toàn.

Còn về phần password, cần phải rất là cẩn thận. Nếu bạn có thể lấy ra được dễ dàng (không mã hóa), thì hacker cũng có thể lấy được dễ dàng. Bạn tuyệt nhiên không muốn viết một trang để cho hacker lấy mật mã của người khác.

t21990
27-03-2011, 08:32
Hi mọi người!
Mình dùng cookie để lưu lại được username rùi nhưng mà password thì chưa được. Vì password đã mã hóa nên không lấy lên lại được hay sao ý. Khi logout thì chỉ có username là hiện lên thui.
Đây là code mình viết:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["remember"] != null)
{
HttpCookie cookie = Request.Cookies.Get("UserNameAndPassword");
tbUserName.Text = cookie.Values["UserName"].ToString();
tbPassword.Text = cookie.Values["Password"].ToString();
}
}
Viết 1 hàm WriteCookie():
protected void WriteCookie()
{
if(chbRemember.Checked==true)
{
HttpCookie cookie = new HttpCookie("remember", "yes");
Response.Cookies.Add(cookie);
cookie = new HttpCookie("UserNameAndPassword");
cookie.Values.Add("UserName", tbUserName.Text.Trim());
cookie.Values.Add("Password", tbPassword.Text.Trim());
Response.Cookies.Add(cookie);
}
}
Và ở chỗ xử lí nút Login thì gọi hàm WriteCookie() đó.

Help me please!!!!!!1

anh có code khi check vào checkbox thì từ lần sau nó tự lưu và đăng nhập luôn k

trinhdiep
27-03-2011, 15:03
trước mình làm là mã hóa xong lưu vào cookies
khi login lại thì truyền chuỗi mã hóa về để giải mã trên service.

cách này thì vẫn có thể login bằng chuỗi mã hóa trong cookies(tất nhiên mình dùng vài định dạng để biết đó là chuỗi mã hóa từ service của mình gửi xuống- có thể tự định nghĩa). Song không thể thay đổi thông tin cá nhân với chuỗi mã hóa này

cách khác là thay vì lưu username và pass ở cookies thì lưu một id(đơn giản có thể là dùng true-false), đồng thời lưu trong service thông tin đã login(có giới hạn thời gian - 30 ngày chẳng hạn). nếu cookies trả về true thì chuyển tới trang đã login với thông tin lấy từ db. nếu cookies trả về false thì yêu cầu login lại(tất nhiên với cách này thì phải kiểm tra ip, webbrowser,etc...)

t21990
28-03-2011, 08:05
trước mình làm là mã hóa xong lưu vào cookies
khi login lại thì truyền chuỗi mã hóa về để giải mã trên service.

cách này thì vẫn có thể login bằng chuỗi mã hóa trong cookies(tất nhiên mình dùng vài định dạng để biết đó là chuỗi mã hóa từ service của mình gửi xuống- có thể tự định nghĩa). Song không thể thay đổi thông tin cá nhân với chuỗi mã hóa này

cách khác là thay vì lưu username và pass ở cookies thì lưu một id(đơn giản có thể là dùng true-false), đồng thời lưu trong service thông tin đã login(có giới hạn thời gian - 30 ngày chẳng hạn). nếu cookies trả về true thì chuyển tới trang đã login với thông tin lấy từ db. nếu cookies trả về false thì yêu cầu login lại(tất nhiên với cách này thì phải kiểm tra ip, webbrowser,etc...)

ý tưởng thì oke rồi. Anh có code k up lên cho e tham khảo với :D