Quản lý phiên là quá trình tạo, duy trì, kiểm tra và kết thúc trạng thái tạm thời kết nối người dùng với ứng dụng. Nó cho phép một trang web ghi nhớ bạn là ai qua các yêu cầu riêng biệt. Nó cũng có thể lưu giữ giỏ hàng, biểu mẫu hoặc tài khoản đã đăng nhập.
Ý tưởng có vẻ đơn giản, nhưng các chi tiết thì phức tạp hơn. Phiên của trang web, phiên của trình duyệt và hồ sơ trình duyệt quản lý các phần khác nhau của trạng thái. Hồ sơ vẫn có thể lưu cookie sau khi trang web đã kết thúc phiên. Một thành viên trong nhóm cũng có thể mở lại môi trường của nhầm tài khoản.
| Thực tế nhanh chóng | Nó có nghĩa là gì |
|---|---|
| Mục đích chính | Giữ danh tính người dùng và trạng thái ứng dụng được kết nối qua các yêu cầu |
| Cơ chế chung | ID phiên hoặc mã thông báo, thường được chứa trong cookie |
| Vòng đời điển hình | Tạo, xác thực, gia hạn, hết hạn, thu hồi hoặc đăng xuất |
| Dữ liệu trình duyệt | Cookie, bộ nhớ cục bộ, IndexedDB, bộ đệm và trạng thái đăng nhập |
| Rủi ro chính | Chiếm quyền điều khiển, cố định, lưu trữ không an toàn và đăng xuất không đầy đủ |
| Vai trò hồ sơ trình duyệt | Giữ dữ liệu phiên phía khách hàng riêng biệt và có thể tái sử dụng |
Quản lý phiên là gì?
HTTP xử lý mỗi yêu cầu như một sự kiện độc lập. Một yêu cầu tiếp theo không tự động xác định được người dùng đã gửi yêu cầu trước đó. Trang web cần một cơ chế khác để liên kết các yêu cầu này.
Khi người dùng đăng nhập, nhiều trang web sẽ tạo trạng thái phiên trên máy chủ. Họ gửi cho trình duyệt một ID phiên. Trình duyệt trả về ID đó với các yêu cầu sau này.
Các hệ thống khác sử dụng mã thông báo đã ký mang nhiều trạng thái hơn trên máy khách. Dù bằng cách nào, ứng dụng phải quyết định xem phiên có hợp lệ hay không và người dùng có thể làm gì.
Quản lý phiên có liên quan đến xác thực và phân quyền, nhưng không đồng nhất với bất kỳ khái niệm nào trong hai khái niệm đó.
- Xác thực kiểm tra xem người dùng là ai.
- Ủy quyền quyết định những gì người dùng có thể truy cập.
- Quản lý phiên giúp bối cảnh đó luôn sẵn có cho các yêu cầu sau này.
Trong cửa hàng trực tuyến, việc đăng nhập sẽ chứng minh danh tính của bạn. Quyền quyết định những gì bạn có thể truy cập. Phiên này giúp bạn đăng nhập từ trang sản phẩm cho đến khi thanh toán.
Quản lý phiên hoạt động như thế nào?
Một phiên web chung tuân theo năm bước.
- Xác thực
Người dùng đăng nhập hoặc bắt đầu tương tác cần lưu trạng thái.
- Tạo nên
Ứng dụng tạo trạng thái phiên hoặc phát hành mã thông báo đã ký. Nó cũng đặt ra các quy tắc về thời gian hết hạn và quyền truy cập.
- Lưu trữ
Trình duyệt nhận được mã định danh phiên. Nó thường được lưu trữ trong một cookie với các quy tắc kiểm soát địa điểm và thời điểm nó được gửi.
- Xác thực
Trình duyệt trả về mã định danh với các yêu cầu sau này. Ứng dụng sẽ kiểm tra nó trước khi trả lại dữ liệu riêng tư hoặc chấp nhận một hành động.
- Kết thúc
Phiên kết thúc sau khi đăng xuất, hết hạn, thu hồi hoặc sự kiện bảo mật khác. Ứng dụng sẽ ngừng chấp nhận mã định danh cũ.
Bước cuối cùng gây ra nhiều rắc rối hơn mọi người mong đợi. Việc xóa cookie trình duyệt có thể không làm mất hiệu lực phiên máy chủ phù hợp. Đăng xuất an toàn cũng cần ứng dụng từ chối phiên cũ.
Một ví dụ Quản lý phiên đơn giản
Hãy tưởng tượng Maya quản lý bảng thông tin hỗ trợ khách hàng.
Cô ấy đăng nhập khi bắt đầu ca làm việc của mình. Ứng dụng tạo một phiên và gửi cho trình duyệt của cô ấy một cookie phiên. Trình duyệt của cô ấy bao gồm cookie đó khi cô ấy mở một yêu cầu, viết câu trả lời hoặc thay đổi trạng thái yêu cầu.
Maya không nhập mật khẩu của mình trên mỗi trang. Ứng dụng nhận dạng phiên của cô ấy và kiểm tra quyền của cô ấy trước các hành động nhạy cảm.
Sau đó, Maya bước đi. Thời gian chờ nhàn rỗi sẽ kết thúc phiên. Khi cô quay lại, ứng dụng yêu cầu cô đăng nhập lại.
Maya cũng hỗ trợ một ứng dụng khách khác trên cùng nền tảng. Việc mở cả hai tài khoản trong một hồ sơ trình duyệt có thể trở nên khó hiểu. Cookie đã lưu có thể mở lại tài khoản sai.
Các cấu hình trình duyệt riêng biệt có thể tách biệt cookie và bộ nhớ trang web của từng khách hàng.
Phiên so với Cookie so với mã thông báo so với hồ sơ trình duyệt
Những thuật ngữ này thường xuất hiện cùng nhau. Họ mô tả những điều khác nhau.
| Thuật ngữ | Nghĩa | Nó tồn tại ở đâu | Giới hạn quan trọng |
|---|---|---|---|
| Phiên | Tương tác tạm thời và trạng thái liên quan của nó | Máy chủ, máy khách hoặc cả hai | Nó không giống như một cửa sổ trình duyệt |
| ID phiên | Mã định danh được liên kết với trạng thái phiên | Thường bên trong một cookie | Bất cứ ai đánh cắp ID hợp lệ đều có thể sử dụng lại nó |
| Cookie | Dữ liệu do trình duyệt quản lý được gửi theo quy tắc tên miền và đường dẫn | Bộ nhớ trình duyệt | Không phải mọi cookie đều đại diện cho một phiên đăng nhập |
| Mã thông báo | Dữ liệu được sử dụng để thể hiện danh tính hoặc quyền truy cập | Cookie, bộ nhớ hoặc tiêu đề yêu cầu | Mã thông báo đã ký vẫn cần lập kế hoạch hết hạn và thu hồi |
| Hồ sơ trình duyệt | Một môi trường dữ liệu trình duyệt riêng biệt | Công cụ quản lý trình duyệt hoặc hồ sơ | Nó không kiểm soát tính hợp lệ của phiên phía máy chủ |
Cookie có thể mang ID phiên. Nó cũng có thể lưu trữ lựa chọn ngôn ngữ hoặc tùy chọn khác. Việc sử dụng cookie và phiên làm thuật ngữ có thể hoán đổi cho nhau sẽ che giấu sự khác biệt đó.
Dấu vân tay trình duyệt lại khác. Nó được xây dựng từ tín hiệu của trình duyệt và thiết bị. Một trang web có thể kiểm tra nó trong quá trình đăng nhập hoặc đánh giá bảo mật. Bản thân nó không phải là cookie phiên.
Cảnh báo tương tự cũng áp dụng cho sessionStorage. Đây là API lưu trữ trình duyệt được gắn với phiên và nguồn gốc của trang. Đăng nhập trang web có thể sử dụng nó, nhưng tên không làm cho nó giống với một phiên xác thực.
Trình duyệt Quản lý phiên là gì?
Trình duyệt Quản lý phiên có hai ý nghĩa phổ biến.
Đầu tiên là khôi phục phiên. Trình duyệt lưu các tab và cửa sổ đang mở, sau đó khôi phục chúng sau khi khởi động lại hoặc gặp sự cố.
Thứ hai là quản lý trạng thái trình duyệt. Nó bao gồm cookie, bộ nhớ, bộ đệm, trạng thái đăng nhập, tiện ích mở rộng và dữ liệu hồ sơ. Đối với người quản lý nhiều tài khoản, lớp này sẽ xác định xem mỗi lần đăng nhập có mở lại với trạng thái đã lưu riêng hay không.
Sự kiên trì của phiên
Tính bền vững của phiên cho phép người dùng mở lại môi trường trình duyệt với trạng thái đã lưu. Nó làm giảm việc đăng nhập lặp lại và giữ dữ liệu trang web lại với nhau.
Sự kiên trì không có nghĩa là quyền truy cập vĩnh viễn. Một trang web có thể hết hạn một phiên, thu hồi mã thông báo hoặc yêu cầu một lần đăng nhập khác. Trình duyệt có thể lưu giữ cookie trong khi máy chủ đã ngừng chấp nhận nó.
Điều này có thể khiến bạn cảm thấy bực bội. Hồ sơ có vẻ nguyên vẹn nhưng tài khoản yêu cầu xác minh. Trang web có thể chỉ đơn giản là đã kết thúc phiên của nó.
Cách ly phiên
Cách ly phiên giúp một môi trường trình duyệt không chia sẻ dữ liệu phía máy khách với môi trường trình duyệt khác. Điều này bao gồm cookie, bộ nhớ cục bộ, bộ đệm và IndexedDB.
Sự cách ly giúp ngăn chặn sự chồng chéo ngẫu nhiên. Nó không làm cho một phiên trở nên vô hình. Các trang web vẫn có thể đánh giá Địa chỉ IP, tín hiệu trình duyệt, lịch sử tài khoản và hành vi của người dùng.
Nhiều phiên và hồ sơ trình duyệt
trình duyệt nhiều tài khoản giúp tổ chức các phiên riêng biệt trên quy mô lớn dễ dàng hơn. Mỗi tài khoản có thể sử dụng hồ sơ có thể sử dụng lại với dữ liệu và cài đặt trình duyệt riêng.
Người dùng có thể mở lại Khách hàng A mà không cần đăng xuất khỏi Khách hàng B. Xóa tên hồ sơ cũng làm giảm cơ hội mở tài khoản của một khách hàng trong môi trường của khách hàng khác.
Quy tắc tôi sẽ giữ rất đơn giản. Một tài khoản dài hạn phải có một hồ sơ có tên rõ ràng. Hồ sơ cũng phải có sự cho phép rõ ràng của chủ sở hữu hoặc nhóm.
Các sự cố thường gặp về Quản lý phiên
Các vấn đề về phiên có thể đến từ bảo mật ứng dụng, xử lý trình duyệt hoặc hoạt động hàng ngày.
Chiếm quyền điều khiển phiên
Việc chiếm quyền điều khiển phiên xảy ra khi một người khác lấy được mã định danh phiên hợp lệ và đóng vai trò là người dùng. Mật khẩu mạnh không khắc phục được phiên bị đánh cắp. Mã định danh cần được bảo vệ trong quá trình lưu trữ và truyền tải.
Cố định phiên
Cố định phiên xảy ra khi kẻ tấn công khiến người dùng đăng nhập bằng mã định danh phiên mà kẻ tấn công đã biết. Ứng dụng có thể giảm rủi ro này bằng cách cấp mã định danh mới sau khi xác thực và thay đổi quyền quan trọng.
Lưu trữ hoặc truyền tải không an toàn
Mã nhận dạng phiên cần có HTTPS trong quá trình truyền. Cài đặt cookie như Secure, HttpOnly và SameSite có thể giảm thiểu rủi ro cụ thể. Mỗi cài đặt có một công việc khác nhau. Không ai trong số họ sửa chữa logic máy chủ yếu.
Quy tắc hết hạn yếu
Một phiên dài sẽ giúp số nhận dạng bị đánh cắp có nhiều thời gian hơn để sử dụng. Một đoạn ngắn làm người dùng thực sự thất vọng. Các ứng dụng thường cân bằng thời gian chờ không hoạt động với thời gian tồn tại tối đa tuyệt đối.
Đăng xuất chưa hoàn tất
Nút đăng xuất sẽ làm được nhiều việc hơn là xóa dữ liệu trình duyệt hiển thị. Ứng dụng sẽ vô hiệu hóa phiên trên máy chủ. Nếu không, số nhận dạng cũ có thể vẫn hữu ích cho đến khi hết hạn.
Hồ sơ trình duyệt hỗn hợp
Đây là sự cố vận hành chứ không phải lỗ hổng bảo mật Web. Một hồ sơ cho các tài khoản không liên quan có thể trộn trạng thái hoặc dẫn đồng đội vào nhầm tài khoản.
Quản lý phiên Các phương pháp hay nhất
Thực hành tốt phụ thuộc vào phía nào của phiên bạn kiểm soát.
Dành cho chủ sở hữu ứng dụng
- Sử dụng HTTPS cho phiên xác thực đầy đủ.
- Tạo số nhận dạng phiên không thể đoán trước.
- Áp dụng cài đặt cookie Bảo mật, HttpOnly và SameSite phù hợp.
- Cấp ID phiên mới sau khi đăng nhập hoặc thay đổi quyền chính.
- Sử dụng các quy tắc hết hạn nhàn rỗi và tuyệt đối.
- Vô hiệu hóa các phiên khi đăng xuất và khi xảy ra các sự kiện bảo mật liên quan.
- Cung cấp cho người dùng một cách rõ ràng để xem lại hoặc kết thúc các phiên hoạt động khi thích hợp.
- Tránh đặt số nhận dạng phiên trong URL hoặc nhật ký.
Các điều khiển này thuộc về trang web hoặc ứng dụng. Công cụ trình duyệt không thể thêm chúng vào dịch vụ của bên thứ ba.
Dành cho người dùng hồ sơ trình duyệt
- Giữ các tài khoản không liên quan trong hồ sơ riêng biệt.
- Sử dụng tên hồ sơ, nhóm, thẻ và ghi chú rõ ràng.
- Chỉ cấp quyền truy cập cho những đồng đội cần nó.
- Hãy coi cookie và mã thông báo đã xuất là dữ liệu tài khoản nhạy cảm.
- Giữ môi trường mạng và trình duyệt ổn định trong quá trình hoạt động của tài khoản hợp pháp.
- Xóa quyền truy cập hồ sơ khi vai trò dự án hoặc nhóm kết thúc.
- Xóa dữ liệu được lưu trữ khi tài khoản không còn khả dụng trong hồ sơ đó nữa.
Mọi người thường tập trung vào bối cảnh và bỏ qua phần con người. Việc thiết lập cẩn thận vẫn có thể thất bại khi mở nhầm hồ sơ. Việc chỉ định chủ sở hữu cho mỗi hồ sơ giúp dễ dàng theo dõi lỗi hơn. Việc xóa quyền truy cập khi một vai trò kết thúc sẽ khiến các đồng đội cũ không tham gia được các phiên đã lưu.
Cách MoreLogin hỗ trợ Trình duyệt Quản lý phiên
MoreLogin hoạt động ở phía trình duyệt của phần tách này. Nó tổ chức môi trường mang theo một phiên.
Mỗi cấu hình MoreLogin có thể giữ cookie, bộ nhớ trình duyệt, trạng thái đăng nhập, cài đặt proxy và cấu hình vân tay riêng. Cài đặt hồ sơ hiện tại cũng cho phép người dùng sắp xếp hồ sơ theo nhóm, thẻ, ghi chú và trang khởi động.
Người dùng có thể quay lại môi trường đã lưu thay vì xây dựng lại nó trước mỗi ca.
Các nhóm di chuyển tài khoản được ủy quyền có thể nhập cookie tài khoản từ Chrome. Nhập cookie có thể tiết kiệm thời gian thiết lập. Nếu trang web từ chối phiên cũ, người dùng cần đăng nhập lại bên trong hồ sơ đó.
MoreLogin cung cấp vai trò và quyền của nhóm cho các hồ sơ được ủy quyền. Người quản lý có thể xóa quyền truy cập hồ sơ mà không cần gửi thông tin xác thực mới cho những người khác. Nhóm cũng tránh để lại dữ liệu đăng nhập thô trong cuộc trò chuyện nhóm.
Cài đặt mạng là một lớp khác. Một proxy thay đổi tuyến đường và IP công cộng. Nó không thay thế mã thông báo phiên. Hướng dẫn về định cấu hình proxy trong MoreLogin cho biết cách chỉ định chi tiết proxy cho một hồ sơ riêng lẻ.
Các nhóm kỹ thuật có thể sử dụng API hồ sơ trình duyệt để tạo, bắt đầu, dừng và truy vấn quy trình làm việc của hồ sơ.
Tôi sẽ kiểm tra một hồ sơ trước khi chuyển một nhóm vào đó. Kiểm tra những gì vẫn tồn tại sau khi đóng. Kiểm tra xem ai có thể mở lại nó. Kiểm tra cách trang web phản hồi sau một thời gian nhàn rỗi. Những thử nghiệm nhỏ này tiết lộ nhiều điều hơn là một danh sách tính năng.
Bài học chính
Quản lý phiên mang lại sự liên tục cho trang web qua các yêu cầu riêng biệt. Ứng dụng tạo và xác nhận phiên. Trình duyệt lưu trữ mã định danh và dữ liệu cục bộ cho phép tiếp tục tương tác. Bảo mật phụ thuộc vào cách ứng dụng bảo vệ, gia hạn, hết hạn và vô hiệu hóa phiên đó.
Hồ sơ trình duyệt giải quyết một vấn đề khác. Họ giữ cookie, bộ nhớ, trạng thái đăng nhập, cài đặt proxy và cấu hình trình duyệt của mỗi tài khoản trong môi trường riêng. Điều này giúp việc chuyển đổi tài khoản dễ dàng hơn và giảm thiểu những sai sót trong hồ sơ. Xóa quyền cũng cho phép các nhóm xóa quyền truy cập mà không cần xây dựng lại mọi môi trường tài khoản.
Câu hỏi thường gặp về Quản lý phiên
Chức năng chính của Quản lý phiên là gì?
Chức năng chính của nó là duy trì danh tính người dùng và trạng thái ứng dụng qua các yêu cầu liên quan. Nó cũng kiểm soát cách một phiên được xác thực, gia hạn, hết hạn, thu hồi và kết thúc.
Quản lý phiên có giống như xác thực không?
KHÔNG. Xác thực kiểm tra người dùng khi đăng nhập. Quản lý phiên chuyển bối cảnh được xác thực đó vào các yêu cầu sau này. Ứng dụng sẽ tiếp tục kiểm tra xem phiên và các quyền của nó có hợp lệ hay không.
Phiên có giống như cookie không?
KHÔNG. Một phiên là sự tương tác và trạng thái liên quan. Cookie là một cơ chế trình duyệt có thể mang mã định danh phiên. Cookie cũng có thể lưu trữ các tùy chọn hoặc dữ liệu khác không liên quan đến xác thực.
Việc đóng trình duyệt có kết thúc phiên không?
Không phải lúc nào cũng vậy. Cookie liên tục có thể tồn tại khi khởi động lại trình duyệt. Khôi phục phiên cũng có thể mang lại trạng thái trình duyệt. Máy chủ có thể giữ phiên hợp lệ cho đến khi đăng xuất, hết hạn hoặc thu hồi.
Nhiều tài khoản có thể sử dụng các phiên trình duyệt riêng biệt không?
Đúng. Các cấu hình trình duyệt riêng biệt có thể tách biệt cookie, bộ nhớ và trạng thái đăng nhập. Người dùng có thể chuyển đổi tài khoản mà không trộn lẫn dữ liệu trình duyệt đã lưu.
MoreLogin giữ các phiên trình duyệt riêng biệt như thế nào?
MoreLogin sử dụng hồ sơ trình duyệt có thể sử dụng lại. Mỗi hồ sơ có thể duy trì các cookie, bộ nhớ, trạng thái đăng nhập, cài đặt proxy và cấu hình vân tay riêng biệt. Người dùng cũng có thể chỉ định quyền truy cập hồ sơ cho các thành viên trong nhóm dựa trên vai trò của họ.

VN
