• 避免缓存HTTP(S)请求/响应
    • 详细描述
    • 建议
    • 参考
    • CWE/OWASP

    避免缓存HTTP(S)请求/响应

    详细描述

    默认情况下,iOS的NSURLRequest将响应缓存在Cache.db文件中。 为了防止这种不安全的行为,开发人员必须明确禁用缓存。

    建议

    开发人员可以设置NSURLRequestcachePolicy属性来禁用HTTP(S)请求和响应的缓存。 禁用缓存的许多方法之一如下面的代码片段所示 (从Stack Overflow转载 NSURLConnection Delegate Returns Null :

    1. (NSCachedURLResponse)connection:(NSURLConnection)connection
    2. willCacheResponse:(NSCachedURLResponse *)cachedResponse {
    3. return nil;
    4. }

    开发人员还可以在下面引用的Apple Developer文章“Understanding cache access”中找到禁用缓存HTTP(S)请求和响应的其他方法。

    参考

    • Understanding cache access - https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/Concepts/CachePolicies.html

    CWE/OWASP

    • OWASP Mobile Top 10: M2 - Insecure Data Storage, M4 - Unintended Data Leakage
    • CWE: CWE-312 - Cleartext Storage of Sensitive Information, CWE-313 - Cleartext Storage in a File or on Disk, CWE-522 - Insufficiently Protected Credentials