Tải bản đầy đủ (.docx) (3 trang)

TÌm hiểu về session và cookie

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (73.66 KB, 3 trang )

I.Session
1. Khái niệm
Là khoảng thời gian người sử dụng giao tiếp với ứng dụng.
Chu kì sống bắt đầu từ lúc bắt đầu phiên làm việc đến khi kết thúc phiên làm việc. Trên server thì
session sẽ kết thúc sau 1 khoảng thời gian đã định trước, thông thường là 15-30 phút
Mỗi session khác nhau sẽ có 1 định danh ID khác nhau, thường là chuỗi kí tự ngẫu nhiên
Session được lưu trữ trên web server.
Khi một session bắt đầu:
1. php tạo 1 định danh ID cho session đó, ID thường là chuỗi kí tự ngẫu nhiên
2. Một cookie có tên là PHPSESSID sẽ được gửi tự động đến máy người dùng để lưu trữ
chuỗi session
3. Một file được tạo trên server và nó có cấu trúc tên là sess_ID, trong đó ID là định danh của
session.
2.Sử dụng session trong php
Trong php, để bắt đầu 1 session, ta thực hiện lệnh : session_start(). Tuy nhiên, nếu thiết lập biến
session.auto_start = 1 trong php.ini thì ta sẽ không cần gọi session_start()
Các biến session sẽ được lưu trữ và truy vấn trong mảng liên hợp là $_SESSION[], ta có thể truy cập
các biến này trong suốt chu kì sống của nó.
Để khai báo 1 biến session, ta dùng : $_SESSION[‘key’] = value
Để kiểm tra xem session đã được thiết lập hay chưa, ta dùng isset($_SESSION(“key”))
Để hủy 1 biến session, ta dùng lệnh unset($_SESSION[‘key’]). Còn để hủy tất cả các biến session, ta
sử dụng session_destroy().
II.Cookie
1.Khái niệm
Cookie( hay còn gọi là HTTP cookie, hoặc Internet cookie), đơn giản là một đoạn dữ liệu được truyền
đến trình duyệt web từ server và được lưu trên bộ nhớ hoặc đĩa (ở trình duyệt web của người dùng).
Mỗi khi người dùng tải lại trang web, thì trình duyệt sẽ gửi cookie ngược về server để thông báo các
hoạt động trước của người dùng.
Mỗi cookie có thể lưu trữ khoảng 4kB dữ liệu
Tối đa khoảng 20 cookies có thể được lưu trên mỗi máy tính
Giả sử, đầu tiên người dùng truy cập lần đầu vào trang www.example.com, người dùng sẽ gửi yêu


cầu đến server


Sau đó, server sẽ gửi trang html trở về trình duyệt web và lưu trữ dữ liệu trên máy chủ người dùng

Sau đó, người dùng yêu cầu sang 1 trang khác (cùng hệ thống trang web), tất cả dữ liệu cookie có
liên quan cũng sẽ được gửi theo

Cookie được xây dựng để lưu những thông tin hữu ích (chẳng hạn như các món hàng được thêm vào
giỏ hàng), hoặc để ghi chép các hoạt động duyệt web của người dùng (chẳng hạn như đăng nhập).
Cookie cũng có thể lưu trữ mật khẩu hoặc nội dung của form mà người dùng đã nhập vào từ trước
(chẳng hạn như số điện thoại).
Do cookie được tạo từ trình duyệt web và gửi tới trình duyệt web. Chính vì thế mà mỗi website khác
nhau sẽ có 2 cookie khác nhau gửi tới trình duyệt. Đồng thời mỗi trình duyệt có những cách thức
quản lý cookie khác nhau, nên 2 trình duyệt web cùng truy cập vào 1 trang sẽ cho 2 cookie khác
nhau.
Cấu trúc của 1 cookie bao gồm:


1. Tên (Name)
2. Giá trị (value)
3. Thuộc tính, có thể là 0 hoặc nhiều thuộc tính
Cookie có thời gian sống khác nhau, tùy thuộc vào thời gian mà người dùng thiết lập cho nó, và
cookie không bị mất đi khi ta thoát trình duyệt web.
2.Sử dụng cookie trong php
Để thiết lập 1 cookie, ta sử dụng hàm setcookie(name, value, expire, path, domain, security)
Để truy cập 1 cookie, ta sử dụng $_COOKIE[“name”] hoặc $HTTP_COOKIE_VARS[“NAME”]
Cũng như session, ta có thể sử dụng isset($_COOKIE[“name”]) để kiểm tra xem coi cookie đó đã tồn
tại hay chưa
Để xóa 1 cookie, ta chỉ đơn giản là dùng setcookie() chỉ với tham số là name, hoặc là thiết lập cookie

đó đã hết hạn.
III.So sánh cookie và session
1.Giống nhau
Dùng để lưu trữ dữ liệu người dùng từ trang web này đến trang web khác trong cùng website
2.Khác nhau
COOKIE
Lưu trữ: tại trình duyệt web của người dùng
Trình duyệt khác nhau thì cookie cũng sẽ khác
nhau, mỗi cookie cũng có 1 ID riêng biệt
Người dùng có thể disable cookie thông qua
trình duyệt
Thời gian sống của cookie phụ thuộc vào thời
gian thiết lập của người dùng
Dữ liệu có thể bị chỉnh sửa, do đó kém bảo mật
Cookie chỉ có thể chứa chuỗi

SESSION
Lưu trữ trên máy chủ (web server)
Mỗi session sẽ có 1 ID riêng biệt.
Người dùng không thể disable session
Session kết thúc khi bị xóa hoặc hết phiên làm
việc
Tính bảo mật cao
Session có thể chứa đối tượng



×