Sunucu oturumu kullanımına sahip bir PhoneGap uygulaması üzerinde çalışıyorum. Oturumu idare etmek için çerezlere ihtiyaç duyar. Ek olarak, yük dengeleyiciden gelen çerez de işlenmelidir. Yani etrafta yol yok. PhoneGap uygulamanızda Çerezleri nasıl ele alıyorsunuz?
Zaten bazı araştırmalar yaptım:
- Bazıları çerez işlemenin sunucunun bilinmeyen kullanıcı aracıları (IIS) için çerez ayarlamamasına bağlı olabileceğini söylüyor: iOS'ta PhoneGap oturumu (çerezler)
- JavaScript'te tanımlama bilgileri document.cookie = ... ile ayarlanabilir, ancak PhoneGap'e kaydedilmez ve kaybolmaz. Xhr isteklerini ateşlemeden önce çalışır.
- Çerezler, xhr.getResponseHeader ('Set-Cookie') ile xhr talebinden sonra alınabilir. Ancak yalnızca sunucuda gerçekten ayarlandığında. Maalesef jQuery, "Cookie" başlığını çıkarır.
- JavaScript document.cookie özelliği atanmaz ve (xhr) isteklerinden sonra güncellenmez.
- Bazıları localStorage'ın oturum kimliklerini vb. Kaydetmesini önerir. Ancak tüm komut dosyaları ona erişebilir ve bu XSS güvenlik sorunu olabilir. Çerezler, HTPONLY bayrağını kullanarak bu sorunu çözer.
- iOS: Çerezleri desteklemek için webView davranışını değiştirecek bazı değişiklikler var. Ancak iOS 6 ve PhoneGap 2.5 ile çalışmıyor gibi görünüyorlar: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ZJE1nxX63ow
- Çerezler, AppDelegate.m'de (v2.5) varsayılan olarak etkin görünüyor.