Tôi đang làm việc trên một ứng dụng PhoneGap có sử dụng phiên máy chủ. Nó cần cookie để xử lý phiên. Ngoài ra, cookie từ bộ cân bằng tải cũng phải được xử lý. Vì vậy, không có cách nào xung quanh. Bạn xử lý Cookies trong ứng dụng PhoneGap của mình như thế nào?
Tôi đã hoàn thành một số nghiên cứu:
- Một số người nói rằng việc xử lý cookie có thể phụ thuộc vào việc máy chủ không đặt cookie cho tác nhân người dùng không xác định (IIS): Phiên PhoneGap (cookie) trên iOS
- Trong JavaScript, cookie có thể được đặt bằng document.cookie = ..., nhưng chúng không được lưu trong PhoneGap và bị mất. Trước khi kích hoạt các yêu cầu xhr nó hoạt động.
- Cookie có thể được truy xuất sau khi yêu cầu xhr với xhr.getResponseHeader ('Set-Cookie'). Nhưng chỉ khi thực sự đặt trên máy chủ. Thật không may, jQuery loại bỏ tiêu đề "Cookie".
- Thuộc tính JavaScript document.cookie không được chỉ định và không được cập nhật sau các yêu cầu (xhr).
- Một số đề xuất localStorage để lưu id phiên, v.v. Nhưng tất cả các tập lệnh đều có thể truy cập nó và đây có thể là vấn đề bảo mật XSS. Cookie giải quyết vấn đề này bằng cách sử dụng cờ httponly.
- iOS: Có một số sửa đổi sẽ thay đổi hành vi của webView để hỗ trợ cookie. Nhưng chúng dường như không hoạt động với iOS 6 và PhoneGap 2.5: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ZJE1nxX63ow
- Cookie dường như được bật theo mặc định trong AppDelegate.m (v2.5).