我正在使用服务器会话使用率的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。
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 关注
- 830 浏览
添加回答
举报
0/150
提交
取消