1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

3 844 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 88,15 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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

Trang 2

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:

Trang 3

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

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

Ngày đăng: 01/11/2016, 13:39

TỪ KHÓA LIÊN QUAN

w