Session

Session là phiên làm việc tạm giữa người dùng và server, giúp lưu trạng thái như đăng nhập, giỏ hàng… Tìm hiểu session là gì, hoạt động ra sao và khác gì cookie.

Session

Session là gì?

Session (phiên làm việc) là một khoảng thời gian tương tác giữa người dùng và website, trong đó server lưu lại thông tin tạm thời để duy trì trạng thái người dùng.

Ví dụ: khi bạn đăng nhập vào một trang web, session sẽ ghi nhớ rằng bạn là ai, đã đăng nhập hay chưa, vai trò là gì… Thông tin này được lưu trên server – còn client chỉ giữ một ID duy nhất để xác định phiên đó.

Session hoạt động như thế nào?

  • Khi người dùng truy cập lần đầu, server tạo ra một Session ID
  • Session ID này được gửi về trình duyệt qua cookie
  • Trong mỗi lần request sau, trình duyệt gửi lại Session ID → server biết phiên nào đang được tiếp tục
  • Tất cả dữ liệu của phiên (user_id, cart, v.v…) đều được lưu **ở phía server**

Session lưu gì?

  • Trạng thái đăng nhập
  • Giỏ hàng, thông tin tạm thời
  • Dữ liệu phân quyền người dùng
  • Token xác thực ngắn hạn

Session lưu ở đâu?

Loại lưu trữ Mô tả Ví dụ
File (mặc định) Lưu session vào ổ cứng server /tmp/sess_abc123
Database Lưu vào bảng MySQL, PostgreSQL… Bảng sessions
Redis / Memcached Lưu trong bộ nhớ RAM → nhanh và phổ biến Dùng trong các hệ thống lớn

Session khác gì cookie?

Tiêu chí Session Cookie
Lưu ở đâu? Trên server Trên trình duyệt
Độ bảo mật Cao hơn (vì không lưu nội dung ở client) Thấp hơn (dễ bị đọc nếu không có HttpOnly)
Dữ liệu lớn được không? Được Bị giới hạn (thường 4KB)
Bị xóa khi tắt trình duyệt? Có (trừ khi dùng persistent session) Tùy thời gian expire

Session trong PHP hoạt động ra sao?

// Bắt đầu session
session_start();

// Gán giá trị
$_SESSION['user_id'] = 123;

// Lấy giá trị
echo $_SESSION['user_id'];

Session có thể bị hack không?

Có – nếu bị session hijacking (lấy trộm Session ID) hoặc CSRF. Vì vậy:

  • Nên dùng HttpOnlySecure cho cookie lưu session ID
  • Hạn chế thời gian sống của session
  • Regenerate session ID sau khi login
  • Áp dụng SameSite để chống gửi cookie trái phép

Kết luận

Session là trái tim của mọi hệ thống web động – đặc biệt là nơi có tài khoản người dùng. Nó giúp giữ trạng thái giữa các lần truy cập, phân quyền, và bảo mật logic hoạt động. Dù là PHP, NodeJS hay Python – khái niệm session vẫn luôn tồn tại dưới nhiều hình thức.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...