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à 1530 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.
Trang 11 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
Trang 2Sau đó, 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:
Trang 31 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
Lưu trữ: tại trình duyệt web của người dùng Lưu trữ trên máy chủ (web server)
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
Mỗi session sẽ có 1 ID riêng biệt
Người dùng có thể disable cookie thông qua
trình duyệt
Người dùng không thể disable session
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 Session kết thúc khi bị xóa hoặc hết phiên làm việc
Dữ liệu có thể bị chỉnh sửa, do đó kém bảo mật Tính bảo mật cao
Cookie chỉ có thể chứa chuỗi Session có thể chứa đối tượng