Tại sao các trang web phổ biến lưu trữ dữ liệu liên quan đến phiên rất phức tạp trong cookie - và tất cả điều đó có nghĩa là gì?


19

Là nhà phát triển web, tất cả chúng ta đều biết rằng các phiên giúp khắc phục các vấn đề liên quan đến bản chất không trạng thái của HTTP. Chúng tôi tạo một id phiên duy nhất và gửi nó tới trình duyệt - và khi trình duyệt gửi cùng id đó cho chúng tôi, chúng tôi dễ dàng xác định người dùng.

Tất cả điều này nghe có vẻ khá đơn giản và KHÔNG quá phức tạp để thực hiện trong bất kỳ ngôn ngữ nào.

HIỆN NAY

Nhìn vào ảnh chụp màn hình sau đây tôi chụp. Chúng hiển thị các loại cookie lưu trữ các trang web phổ biến. Có vẻ như họ đang lưu trữ nhiều ID phiên hoặc họ đang cố gắng ẩn id thực tế bằng cách đặt quá nhiều cookie hoặc, đó là một biện pháp bảo mật rất chuyên dụng mà họ đang thực hiện để ngăn chặn chiếm quyền điều khiển phiên và các vấn đề liên quan khác. Hay bất cứ cái gì.

Gmail (trước khi đăng nhập)

nhập mô tả hình ảnh ở đây

Gmail (sau khi đăng nhập)

nhập mô tả hình ảnh ở đây

Facebook

nhập mô tả hình ảnh ở đây

Giao dịch cổ phiếu

nhập mô tả hình ảnh ở đây

(Đừng lo lắng, bạn không thể đánh cắp phiên của tôi - nó cũ và không đầy đủ :))

Vì vậy, câu hỏi của tôi là - sự phức tạp này phục vụ mục đích gì? Vui lòng giải thích những cookie này có nghĩa là gì (nói chung) và cho những mục đích này được đặt. Cuối cùng, gợi ý về cách tôi có thể làm điều đó (và liệu tôi có nên) trong các ứng dụng của riêng mình không.

Một câu hỏi nữa: Trong rất nhiều trường hợp, các giá trị trong cookie trông giống như chúng được mã hóa URL - tại sao vậy?

Câu trả lời:


21
  1. Đôi khi việc lưu trữ dữ liệu nhất định trong bảng phiên trên cơ sở dữ liệu là không thực tế. Nếu một số dữ liệu nhất định được cập nhật rất nhiều thì nó cũng có thể làm hỏng cơ sở dữ liệu. Nếu đó là trường hợp và dữ liệu không quá quan trọng, nó có thể được lưu trữ tốt hơn trong một cookie riêng biệt.

  2. Khi (1) xảy ra, bạn phải xử lý giới hạn 4kb mỗi cookie, vì vậy lưu trữ tất cả dữ liệu phiên trong cookie trong một cookie là một ý tưởng tồi.

  3. Thật tuyệt khi có thể lưu trữ mọi thứ với số lượng cookie tối thiểu cần thiết, nhưng mối quan tâm phức tạp của dự án làm cho điều này trở nên khó khăn. Một số ứng dụng được phát triển bởi một số đội . Đôi khi những gì bạn thấy là một máy chủ web thực sự là một proxy nói chuyện với một số cụm máy chủ web khác nhau, định tuyến các phần khác nhau của trang web đến các cụm khác nhau, mỗi cụm có một bộ cookie riêng.

  4. Bánh quy có giá rẻ. Bạn là ngoại lệ của quy tắc - không ai nhìn vào cửa hàng cookie của họ để xem họ có bao nhiêu cookie. Và có rất ít lợi ích về hiệu suất khi cố gắng kết hợp tất cả dữ liệu phiên phía máy khách vào càng ít cookie càng tốt.


Tôi cũng là ngoại lệ của quy tắc.
Michael Slade
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.