为了账号安全,请及时绑定邮箱和手机立即绑定

在PhoneGap / Cordova中处理Cookie

在PhoneGap / Cordova中处理Cookie

iOS
九州编程 2019-12-25 10:24:42
我正在使用服务器会话使用率的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_idcookienamecookievaluetimestamp为列。

当客户通过phonegap应用访问您的Web服务器时,请获取该客户device_id并将Cookie存储在表中。的device_id here充当OAuth协议令牌接入。

现在出于安全原因,您需要减少这些记录的有效期限,因为device_id是永久性的,并且您的客户希望有一天出售其电话。因此,用于timestamp存储客户端的上一次访问,并删除记录(如果已访问了10天之久的记录)。


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 830 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信