在PhoneGap / Cordova中处理Cookie

我正在使用服务器会话使用率的PhoneGap应用程序。它需要cookie来处理会话。此外,也应处理来自负载平衡器的cookie。所以没有办法。您如何在PhoneGap应用程序中处理Cookie?

我已经完成了一些研究:

  • 有人说cookie处理可能取决于服务器未为未知用户代理(IIS)设置cookie:iOS上的PhoneGap会话(cookie)

  • 在JavaScript中,可以使用document.cookie = ...设置cookie,但不会将它们保存在PhoneGap中并丢失。在触发xhr请求之前,它可以工作。

  • 可以在xhr请求后使用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。


九州编程
浏览 797回答 3
3回答

慕莱坞森

使用device_id来解决服务器端的某些记录。创建一个名为数据库表session的服务器上device_id,cookiename,cookievalue和timestamp为列。当客户通过phonegap应用访问您的Web服务器时,请获取该客户device_id并将Cookie存储在表中。的device_id here充当OAuth协议令牌接入。现在出于安全原因,您需要减少这些记录的有效期限,因为device_id是永久性的,并且您的客户希望有一天出售其电话。因此,用于timestamp存储客户端的上一次访问,并删除记录(如果已访问了10天之久的记录)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS