我正在使用服務器會話使用率的PhoneGap應用程序。它需要cookie來處理會話。此外,也應處理來自負載平衡器的cookie。所以沒有辦法。您如何在PhoneGap應用程序中處理Cookie?我已經完成了一些研究:有人說cookie處理可能取決于服務器未為未知用戶代理(IIS)設置cookie:iOS上的PhoneGap會話(cookie)在JavaScript中,可以使用document.cookie = ...設置cookie,但不會將它們保存在PhoneGap中并丟失。在觸發xhr請求之前,它可以工作??梢栽趚hr請求后使用xhr.getResponseHeader('Set-Cookie')檢索Cookie。但僅在服務器上實際設置時。不幸的是,jQuery剝離了“ Cookie”標頭。在(xhr)請求之后,未分配JavaScript document.cookie屬性,也未對其進行更新。一些建議使用localStorage保存會話ID等。但是所有腳本都可以訪問它,這可能是XSS安全問題。Cookies通過使用httponly標志來解決此問題。iOS:進行了一些修改,這些更改將更改webView行為以支持cookie。但它們似乎不適用于iOS 6和PhoneGap 2.5:https://groups.google.com/forum/ ? fromgroups =#!topic / phonegap / ZJE1nxX63ow默認情況下,AppDelegate.m(v2.5)中似乎啟用了Cookie。
3 回答

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
使用device_id
來解決服務器端的某些記錄。創建一個名為數據庫表session
的服務器上device_id
,cookiename
,cookievalue
和timestamp
為列。
當客戶通過phonegap應用訪問您的Web服務器時,請獲取該客戶device_id
并將Cookie存儲在表中。的device_id here
充當OAuth協議令牌接入。
現在出于安全原因,您需要減少這些記錄的有效期限,因為device_id是永久性的,并且您的客戶希望有一天出售其電話。因此,用于timestamp
存儲客戶端的上一次訪問,并刪除記錄(如果已訪問了10天之久的記錄)。
- 3 回答
- 0 關注
- 869 瀏覽
添加回答
舉報
0/150
提交
取消