Tìm hiểu cookies trong asp.net

Xem: 1142    Tải: 0   Thảo luận: 0   Mục: ASP.NET Framework   Lĩnh vực: Khác

9 điểm   ( 4 đánh giá ) File đã được kiểm thử


Khi làm việc với ứng dụng web, đặc biệt là website, nhiều bạn sẽ hỏi cookies là gì, nó có tác dụng gì, và cách thức hoạt động ra sao? bài viết này sẽ nói rõ những vấn đề đó.
I.Giới thiệu
Cookies cũng được gọi bằng nhiều tên HTTP Cookie, Cookie web, Browser cookie, Session CookieCookie là một trong nhiều cách để lưu trữ dữ liệu về khách truy cập website trong thời gian máy chủ và trình duyệt không được kết nối. Cookie thường được sử dụng để nhớ user cho các lần ghé thăm trang web. Thực tế, cookie là một văn bản nhỏ được gửi bởi máy chủ web và được lưu trữ bởi trình duyệt của client.
II. Sử dụng cookie thế nào?
Cookie có thể dùng để nhận dạng, xác thực một user session, sở thích người dùng, giỏ hàng, nội dung mua sắm hoặc bất cứ điều gì khác. Cookie cũng có thể sử dụng cho việc truyền dữ liệu từ trang này sang trang khác.
III. Cookie có thực sự an toàn?
Vâng, câu hỏi này không có câu trả lời cụ thể là Có hoặc Không. Cookie có thể bị đánh cắp bởi tin tặc để truy cập vào các tài khoản web của nạn nhân. Cookie không thể mang virus và không thể tự cài đặt phần mềm độc hại trên máy tính chủ, tuy nhiên chúng có thể được sử dụng bởi phần mềm gián điệp để theo dõi hoạt động duyệt web của người dùng.
IV. Sử dụng cookie trong asp.net
1. Tạo/Viết cookies
Có rất nhiều cách để tạo hoặc viết cookies. Tôi sẽ trình bày 1 trong số các cách phổ biến:
Cách 1: Sử dụng lớp HttpCookies
//First Way
HttpCookie StudentCookies = new HttpCookie("StudentCookies");
StudentCookies.Value = TextBox1.Text;
StudentCookies.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(StudentCookies);
Cách 2: Sử dụng Response direcly
//Second Way
Response.Cookies["StudentCookies"].Value = TextBox1.Text;
Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1);
Cách 3: Nhiều giá trị trong cùng một cookies
//Writing Multiple values in single cookie
Response.Cookies["StudentCookies"]["RollNumber"] = TextBox1.Text;
Response.Cookies["StudentCookies"]["FirstName"] = "Abhimanyu";
Response.Cookies["StudentCookies"]["MiddleName"] = "Kumar";
Response.Cookies["StudentCookies"]["LastName"] = "Vatsa";
Response.Cookies["StudentCookies"]["TotalMarks"] = "499";
Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1); 
2. Đọc/lấy giá trị cookies
Dành cho cách 1:
string roll = Request.Cookies["StudentCookies"].Value; //For First Way
Dành cho cách 2:
string roll = Request.Cookies["StudentCookies"].Value;  //For Second Way
Dành cho cách 3:
//For Multiple values in single cookie
string roll;
roll = Request.Cookies["StudentCookies"]["RollNumber"];
roll = roll + " " + Request.Cookies["StudentCookies"]["FirstName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["MiddleName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["LastName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["TotalMarks"];
Label1.Text = roll; 
3. Delete một cookies
Chúng ta có nhiều cách để tạo ra cookies nhưng sử dụng cách dưới đây để delete một cookie
if (Request.Cookies["StudentCookies"] != null)
{
    Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(-1);
    Response.Redirect("Result.aspx");  //to refresh the page
}

V. Tìm hiểu về lớp HttpCookies
Chúng ta không cần phải sử dụng namespace cho HttpCookies vì nó có sẵn trong namespace System.Web. Lớp HttpCookies cho phép chúng ta làm việc với Cookies mà không cần phải Response Request
cookies in asp.net
Lớp HttpCookies bao gồm các thuộc tính cơ bản như

  • Domain: Tên miền của cookie
  • Expires: Chứa thời gian hết hạn của cookie
  • Haskey: có giá trị true nếu cookie có chứa khóa
  • Name: Tên của cookie
  • Path: Đường dẫn của cookie
  • Secure: Có giá trị true nếu cookie được kết nối an toàn
  • Value: Giá trị của cookie
  • Values:

VI. Hạn chế của cookie

  • Cookie có những hạn chế sau đây:
  • Kích thước bị giới hạn đến 4096byte.
  • Trên một phiên làm việc, chỉ có 20 cookie được hoạt động, nếu có cookie mới, thì cookie cũ nhất sẽ bị delete
  • Người dùng cuối có thể dừng việc chấp nhận sử dụng cookie trên trình duyệt, do đó khi thao tác cần nhắc nhở user kích hoạt việc dùng cookie

Đôi khi, người dùng vô hiệu hóa các tập tin cookie hoặc đôi khi trình duyệt không nhận các cookie. Trong trường hợp này cần phải kiểm tra trình duyệt của người sử dụng tại trang chủ của trang web và hiển thị thông điệp phù hợp để điều hướng người dùng tới trang kích hoạt lại cookie. Đoạn mã sau sẽ kiểm tra xem người sử dụng trình duyệt có hỗ trợ cookie hay không.

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Browser.Cookies)
    {
        //supports the cookies
    }
    else
    {
        //not supports the cookies
        //redirect user on specific page
        //for this or show messages
    }
}

Tìm hiểu cookies trong asp.net

Tìm hiểu cookies trong asp.net Đăng ngày 23-09-2014  Khi làm việc với ứng dụng web, đặc biệt là website, nhiều bạn sẽ hỏi cookies là gì, nó có tác dụng gì, và cách thức hoạt động ra sao? bài viết này sẽ nói rõ những vấn 2.25/10 1142

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 

File tải nhiều nhất

Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;
logo megacode

Megacode đã đăng ký với Bộ Công Thương
Thư viện mã nguồn mở lớn nhất Việt Nam.



Hỗ trợ khách hàng trên Megacode
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+844) 6. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn