2011-08-09 29 views
7

Vì vậy, tình huống là trên một trang nhất định có nhiều yêu cầu HTTP và mỗi yêu cầu này cần cập nhật một cookie được chia sẻ duy nhất. Không có khả năng kiểm soát số lượng yêu cầu được thực hiện trên mỗi trang, nhưng thực tế có thể có 10+.Chiến lược giảm thiểu các điều kiện chủng tộc khi cập nhật cookie?

Chúng tôi đã gặp sự cố chỉ yêu cầu http cuối cùng cập nhật thành công cookie và tôi được thông báo là do phụ thuộc vào trình duyệt.

Đây có phải là vấn đề đã biết nói chung và có bất kỳ chiến lược nào để giảm thiểu rủi ro không?

Trả lời

1

Một chiến lược là tránh lưu trữ thông tin có thể thay đổi trong chính cookie và thay vào đó, cookie sẽ là số nhận dạng của một số loại xác định bản ghi trong cơ sở dữ liệu ở một nơi nào đó. Sau đó, máy chủ của bạn cập nhật thông tin trong cơ sở dữ liệu (phía máy chủ), thay vì thay đổi giá trị cookie.

+1

Vâng, tôi sợ điều đó nhưng tôi nghĩ đó là lựa chọn duy nhất của tôi. – Dan

+0

Nếu máy chủ ghi thông tin có thể thay đổi được vào cookie, bạn sẽ không kết thúc với cùng điều kiện chủng tộc mà nhiều số nhận dạng khác nhau sẽ được đặt cho cùng một trình duyệt không? – Nick

0

Loại yêu cầu này là gì? Những người duy nhất mà bạn không kiểm soát thứ tự là những thứ như hình ảnh, kịch bản lệnh src và iframe. Và bạn không nên cập nhật cookie cho bất kỳ cookie nào trong số đó.

Bạn nên cập nhật đầu bếp trong trang chính, trang có nguồn HTML. Sau đó nếu bạn có yêu cầu ajax bạn đang kiểm soát thứ tự, do đó bạn không nên có một vấn đề ở đó.

+0

Chúng là những đoạn mã mà mọi người có thể đặt trên trang web của họ, với nhiều chức năng khác nhau. Vì vậy, tôi không kiểm soát cách chúng được triển khai trong mã. Tại sao tôi không nên cập nhật cookie khi một hình ảnh (ví dụ: pixel) được gọi? Cuối cùng, một loạt các yêu cầu http đồng thời cho những thứ như hình ảnh (không phải tập lệnh) dẫn đến các cookie không thành công do điều kiện chủng tộc. Dường như không có phía máy chủ giải pháp dễ dàng. – Dan

Các vấn đề liên quan