问题标签 [nshttpcookiestorage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 枚举时删除 Cookie:安全吗?
鉴于此代码:
这不会抛出异常,暗示枚举过程中cookie jar的突变是安全的。我想知道的是,为什么?这是否总是安全的,还是由于某些可能发生变化的实现细节而恰好是安全的?
ios7 - NSHTTPCookieStorage UTF-8 cookie 名称值被截断
在我NSHTTPCookieStorage
用来将 cookie 存储在sharedHTTPCookieStorage
.
我收到的其中一个 cookie 有一个名称值,其中包含非 ASCII 单词“Søren”。我可以看到在 HTTP 跟踪中设置了 cookie,但保存的 cookiesharedHTTPCookieStorage
在“Søren”中的“S”之后被截断。在 HTTP 响应标头中设置的后续 cookie 都不会存储在sharedCookieStorage
. 事实上,有问题的 cookie 以截断的形式存储了两次,几乎就像框架试图再次解析它然后放弃一样。
RFC2965 指出:
名称=必填值。状态信息(“cookie”)的名称为 NAME,其值为 VALUE。以 $ 开头的名称是保留的,应用程序不得使用。
我配置NSHTTPCookieStorage
如下:
我认为这与 相关NSHTTPCookieStorage
,而不是NSURLResponse
. 我需要做任何额外的事情来处理 UTF-8 cookie 名称值吗?
ios - NSHTTPCookieStorage 不会自动保存 cookie
我在Set-Cookie
NSURLResponse 的标头中接收 cookie,但[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]
返回空列表。NSHTTPCookie
,我从回复中收到,是HTTPOnly
安全的,没有expiresDate
。这种行为的原因是NSHTTPCookieStorage
什么?
更新:
在发送请求之前和收到响应之后,我已经检查了NSHTTPCookieStorage
接受政策。但是NSHTTPCookieAcceptPolicyAlways
,cookie 没有被存储。如果我发送另一个请求,返回另一个 cookie,存储会自动保存它。该cookie有过期日期HTTPOnly
,所以,我认为,问题出在cookie的属性中,但我在文档中找不到任何确认
ios - iOS:存储会话过期的cookie
我必须设置 NSHTTPCookie 使其到期设置为Session。我使用以下代码来设置该 cookie 的属性。
但是,上述两个属性都将到期时间设置为2001 年 1 月 1 日 02:00:00 GMT+2,而不是将到期时间设置为Session
swift - Swift NSHTTPCookieStorage 计数:2
我怎样才能把它循环成一个cookie?
cocoa - 应该如何使用“removeCookiesSinceDate”?
NSHTTPCookieStorage
从 MacOS 10.10 和 iOS 8.0 开始,就有了这种新的很棒的方法。从微不足道的谷歌点击量猜测,还没有人注意到它。这并不奇怪,因为它甚至还没有出现在 Apple 开发门户文档中,只是在标题中。但我仍然希望有人知道如何使用它,因为我不知道 :) 我试图用它来清除所有 cookie,而不是令人尴尬的 cookie jar 迭代。所以我称之为
和繁荣,EXC_BAD_ACCESS
在MemoryCookies::visitCookies
。好吧,UN*X 时代可能太刻薄了。所以我尝试了
再次繁荣。所以我继续划分区间,发现它确实需要至少一个至少与date
参数一样旧的 cookie。因此,无论如何您都必须迭代 cookie 以找到最旧的 cookie ,然后调用新的闪亮方法。这是非常荒谬的不切实际,我什至敢称它为错误。
想法?
ios - 围绕 iOS 共享 NSHTTPCookieStorage 的安全性
我正在努力寻找这方面的确切细节,所以我希望在这里得到一些帮助。我正在寻找有关iOS共享NSHTTPCookieStorage的底层存储机制的一些信息:
- 当使用共享的 NSHTTPCookieStorage 存储 cookie 时,是否默认提供任何加密,例如使用 keychain 服务?或者 cookie 只是使用 NSUserDefaults 以明文形式存储?
- 我了解 cookie 存储在应用程序的沙箱中,因此其他应用程序将无法访问,但我的理解是正确的,可以物理访问设备的人可以轻松访问应用程序的 cookie 及其值(特别是如果它们未加密存储)?
例如,如果必须处理 cookie 中的一些敏感数据,但又想利用 NSURLSession API 的默认 cookie 处理/存储(共享 NSHTTPCookieStorage),那么最好的选择是什么?
抱歉,我知道我已经问了 3 个单独的问题,但对此的任何帮助将不胜感激。
谢谢。
ios - 如何在 iOS 中维护 cookie?
我正在尝试使用UIWebView
. 成功后,它将 cookie 存储在NSHTTPCookieStorage
. 它对单个会话工作正常。
但是如果我强制关闭应用程序并返回应用程序,它会要求我登录。而它的 cookie 已经存储了。
我还提到了这个链接https://stackoverflow.com/a/8713316/2594560。但我的sessionOnly:FALSE
和到期日期也已设置。
下面是代码:
如果用户没有登录,那么这将重定向到登录页面,但如果用户登录,那么它应该显示这个“show_all”页面。它适用于 cookie。但是如果我强制关闭应用程序并重新启动应用程序,那么它会重定向到登录。
请指导我如何实现这一目标。
ios - NSHTTPCookieStorage 跨多个应用共享
如何跨多个 iOS 应用共享 NSHTTPCookieStorage?我希望 MYAPP A 和 MYAPP B 使用相同的 cookie,这样我就可以轻松地在它们之间切换。
我在中找到了以下方法,NSHTTPCookieStorage.h
但没有在文档中看到它。
ios - NSHTTPCookieStorage - 在应用程序终止(SIGKILL)iOS 8 中丢失 cookie
在我的应用程序注册中,我从服务器获取和设置 cookie 以进行用户身份验证,这是我从服务器获取的标头字段:
[Content-Type: application/json, Pragma: no-cache, X-Powered-By: PHP/5.5.29-1+deb.sury.org~precise+1, Set-Cookie: PHPSESSID_NEW=u3j95qff7100d87pimd56mfc37; 过期=格林威治标准时间 2024 年 4 月 12 日星期五 10:31:46;最大年龄=259200000;路径=/,服务器:nginx/1.1.19,内容编码:gzip,到期时间:星期四,1981 年 11 月 19 日 08:52:00 GMT,缓存控制:无存储,无缓存,必须重新验证,后check=0, pre-check=0, Date: Mon, 25 Jan 2016 10:31:46 GMT, Content-Length: 439, Connection: keep-alive, X-CDN: Incapsula, Vary: Accept-Encoding, X-信息:8-3374242-3308240 SNNY RT(1453717901817 3717) q(0 0 0 0) r(5 5) U5]
我尝试了两种使用 NSHTTPCookieStorage 设置这些字段的方法:
或者:
我设置了另一个函数来检查和打印 cookie 是否设置正确,并在注册和登录后返回一个 NSHTTPCookie 数组,用于多种目的,它的设置很好:
在运行 iOS 9 的设备上,这两种情况下一切正常,但在运行 iOS 8 的设备上,大多数情况下应用程序被系统或用户终止(SIGKILL),持有PHPSESSID_NEW键的 cookie 是从 cookie 存储中删除,并且所有服务器调用都未经过身份验证,因此应用程序收到错误响应。我知道在以前的 iOS 版本中,当系统终止应用程序时,它也会删除 cookie,但在这种情况下,当用户终止应用程序时也会发生这种情况。任何想法为什么会发生?