Posted by : Unknown
22/4/13
Bạn có thể tạo hai kiểu của Cookie, Session Cookies và Persistent Cookies. Session cookies chỉ tồn tại trong bộ nhớ khi trình duyệt web bị đóng lại thì nó cũng bị xóa đi.
|
1. Sử dụng Cookie:
Cookie làm việc như thế nào?
Khi trình duyệt web tạo một Cookie, một nội dung sẽ được lưu vào header của trang web với nội dung giống như sau:
Phần tiêu đề Set-Cookie này gây ra cho trình duyệt web tạo một Cookie có tên là Message và giá trị của nó là Hello.
Sau khi một Cookie được tạo trên trình duyệt, Mỗi khi trình duyệt yêu cầu một trang web trong ứng dụng, trình duyệt sẽ gửi một header có dạng giống như sau:
Tiêu đề Cookie chứa đựng tất cả các Cookie mà được tạo trên Web Server. Cookie được gửi trở lại mỗi khi một yêu cầu được đưa ra trên trình duyệt web.
Bạn có thể tạo hai kiểu của Cookie, Session Cookies và Persistent Cookies. Session cookies chỉ tồn tại trong bộ nhớ khi trình duyệt web bị đóng lại thì nó cũng bị xóa đi.
Còn Persistent Cookies có thể tồn tại hàng tháng hoặc hàng năm. Khi bạn tạo một Persistent Cookies, nó sẽ được lưu trữ trên web browse trên máy tính của bạn. với IE ví dụ nó sẽ được lưu trữ trong một file Text theo thư mục \Documents and Settings\[user]\Cookies.
Còn với FireFox nó lưu trữ trong thư mục theo đường dẫn sau: \Documents and Settings\[user]\Application Data\Mozilla\Firefox\Profiles\[random folder name]\Cookies.txt bởi vì sự lưu trữ cookies trên các trình duyệt khác nhau để ở các thư mục khác nhau lên khi bạn tạo Cookies trên IE thì nó sẽ không tồn tại trên FireFox và ngược lại.
Bảo mật với Cookie
Tạo Cookies
Bạn có thể tạo cookies với câu lệnh Response.Cookies, tất cả các Cookies sẽ được gửi từ Web Server đến Web Browser.
Ví dụ sau đây sẽ tạo ra một Cookies Message với giá trị được lấy từ hộp TextBox trên Form.
Ví dụ 1: Trang setCookies.aspx
Trong ví dụ một là chúng ta tạo ra một Session Cookies, còn nếu bạn muốn tạo một Persistent Cookies bạn cần chỉ định thời hạn kết thúc cho Cookies.
Ví dụ 2: trang setPersistentCookies.aspx
Trong ví dụ trên khi chạy chương trình mỗi lần bạn Refresh lại trang thì giá trị của Label1 sẽ tăng lên một. Và với câu lệnh :
Có nghĩa là thời gian tồn tại của Cookie này sẽ là 2 năm.
Đọc dữ liệu từ Cookies
Bạn sử dụng lện Request.Cookies để lấy dữ liệu từ Cookies, bạn xem lại ví dụ 2 trang setPersistentCookies.aspx.
Khi bạn có một tập hợp các Cookies bạn có thể lấy tât cả giá trị của các Cookies trên website của mình, ví dụ sau đây sẽ hướng dẫn bạn làm việc đó.
Ví dụ 3 :trang GetallCookies
Thiết lập thuộc tính cho Cookies
Cookies được đưa ra với lớp HttpCookie, khi bạn tạo hoặc lấy giá trị từ một Cookie có thể bạn sẽ sử dụng một vài thuộc tính của lớp này:
- Domain: cho phép bạn chỉ định Domain kết hợp với Cookie. Giá trị mặc định là Domain hiện tại.
- Expires: Cho phép tạo Persistent Cookies với thời hạn được chỉ định.
- HasKeys: Cho phép bạn định rõ Cookies có nhiều giá trị hay không.
- HttpOnly: Cho phép đưa ra một Cookies từ JavaScript.
- Name: chỉ định tên cho Cookies.
- Path: Cho phép chỉ định đường dẫn kết hợp với Cookies. Giá trị mặc định là /.
- Secure: Cho phép một Cookie được chuyển tác ngang tới kết nối Sercure Sockets Layer (SSL).
- Value: Cho phép lấy hoặc thiết lập giá trị cho Cooki.
- Values: Cho phép bạn lấy hoặc thiết lập giá trị riêng khi làm việc với Cookies có nhiều giá trị.
Xóa Cookies
Để xóa một Cookie bạn thiết lập ngày hết hạn cho Cookies là -1 Ví dụ như câu lệnh dưới đây:
Trên ví dụ trên chúng ta sẽ xóa Cookie vơi tên là Message.
Làm việc với Cookies nhiều giá trị:
Trong trình duyệt không lên lưu trưc hơn 20 Cookies từ một Domain, thay vào đó bạn có thể làm việc với một Cookie nhiều giá trị.
Một Cookies nhiều giá trị là một Cookies đơn chứa đựng nhiều khóa con, bạn có thể tạo nhiều khóa con như bạn muốn.
Như ví dụ dưới đây bạn tạo ra một Cookies Person nhiều giá trị, Cookie Person lưu trữ các giá trị Họ tên, Ngày sinh và màu sắc yêu thích.
Ví dụ 4: trang SetCookieValues.aspx
|
{ 0 nhận xét }