我正在开发一个cordova 4 ios应用程序。安全扫描后,建议我禁用NSURL缓存,以避免在设备上创建Cache.db文件。
有没有办法实现这个目标?我试过这个插件 https://github.com/wongatech/cordova-disable-nsurl-cache 但它不起作用(它说它适用于cordova 3.7)。
完全避免这种NSURL缓存是否是明智的事情,还是仅仅针对某些请求执行,比如那些带有“敏感”数据的请求?
帮助任何人?
答案 0 :(得分:0)
我对Cordova一无所知,但假设它使用了NSURLConnection或NSURLSession,并假设可以添加本机代码,则可以禁用NSURLConnection缓存:
NSURLCache *URLCache =
[[NSURLCache alloc] initWithMemoryCapacity:4194304 // 4 MB
diskCapacity:0
diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
对于NSURLSession,您需要将会话配置的URLCache属性更改为您创建的URL缓存对象(而不是上面的第二行)。如果它使用NSURLSession,那么可能需要更改Cordova本身。
话虽如此,我不知道这对Cordova是否有效。他们可能会使用自己的网络代码,在这种情况下,您必须以某种特定于Cordova的方式禁用缓存。
至于避免URL缓存问题,再次假设它使用的是NSURLConnection或NSURLSession,避免缓存任何敏感信息的最简单方法是始终使用POST请求来发送敏感数据,因为这些结果永远不会被缓存。
就此而言,即使Cordova使用自己的网络代码,POST请求的不可提供性也应该由几乎任何符合标准的Web缓存强制执行,因此这可能是一个相当安全的选择。