“既然是完整读写权限,则App拥有相册内容的删除权限。”曲子龙认为,在用户进行了App的视频上传后,App厂商就已经根据用户上传的内容获取到了该文件的文件名、哈希值,“纯技术探讨的前提下,既然是一个已知文件,又是用于用户举证的工单流程环节,App本身都会通过IMEl(国际移动设备识别码)和用户手机号给用户建档,在已经拥有该App相册完整读写权限、且APP在运行状态下,定向去找到某个用户的某个手机上的文件,把它删除掉并不是复杂的技术问题”。
记者注意到,在声明中,得物方面也表示“完全没有任何动力去做删除用户相册等不合规的行为”;曲子龙也认为用户完全可以用系统原生相机再拍一遍证据,找第三方机构鉴定后再去相关部门投诉,App厂商确实没有必要干这么蠢的事情。
在另外一份声明中,得物方面称App删除的是为避免占用用户手机空间的临时缓存文件,并非用户手机内的原视频。
“用户在App中编辑、处理、上传视频过程中,系统生成临时缓存文件,上传成功后清除缓存。该用户手机系统检测到得物临时缓存文件的处理,触发了系统拦截通知。”得物声明中还指出,App为了缩短编辑视频用户等待时间、避免影响原用户视频,采取临时缓存文件方案,该方案也是行业各大知名App进行视频处理的通用方案。
记者也注意到,类似事件也发生在国内多家互联网厂商的产品上,豆瓣、拼多多等知名App均曾被手机系统检测到删除照片或视频。比如,去年10月,豆瓣对“个别用户反馈华为手机提示豆瓣删除图片”发表说明,称当用户处于网络较差的环境时,系统认为帖子页同时发送多个带图回复,会导致误将用户上传的图片当成缓存文件删除。
2021年1月,网友联系拼多多客服上传了相关截图,结果和客服结束对话后不久,其手机收到了“检测到‘拼多多’已删除照片或视频”的vivo服务提醒。拼多多当时回应称,当用户在App的客服聊天页面点击“拍摄”并完成拍照后,立刻点击发送,这一图片就会被保存至系统相册;如果用户对照片做剪辑、美化等编辑操作,App会保存一张拍完的图片到系统相册,类似于缓存,待用户完成编辑和发送后,App会删除原图,保留编辑后的图片,这一举动导致了vivo系统认为有删除图片的操作。
从具体技术角度来说,是什么导致了删除App缓存文件而触发了手机系统拦截提示功能(即手机系统误报)?
曲子龙表示:“App开发过程中对于文件缓存其实是可以选择存放位置的,正常开发会有两种存放位置:一是在自己的App目录下创建缓存文件,二是到用户相册这个目录创建。App删除自己App目录下的文件,对于系统来说肯定风险等级低于删除用户相册里文件的操作,所以正常情况下,App开发者都是建议把缓存文件存入到自己的App目录下来避免此类‘尴尬’,这是一个很常规的开发技巧。”
“如果把缓存文件保存到用户相册再操作删除,他们所陈述的缓存删除逻辑触发了手机厂商的相关风险提示,确实从技术上成立。”曲子龙补充道。
那么,要如何更好地避免这种误解?曲子龙表示:“iOS和安卓的开发环境不同。相比iOS的沙盒机制,对于安卓来说,系统相册其实是手机厂商通过系统自带的MediaProvider收集整理的聚合结果,所以即便是在自己的App目录下创建文件夹,也会被MediaProvider索引到。”
也就是说,App创建的临时缓存文件(包括视频、图片等)也包含在系统相册中。“这时候就需要‘。nomedia’,从字面就能看出来no(不是)media(媒体文件)就等于这不是媒体文件,只要把‘。nomedia’文件放在任何一个文件夹下,都会把该文件夹下所有媒体文件隐藏跳过MediaProvider不被扫描。”曲子龙指出,如果App规范开发在自己的App目录下创建一个缓存文件夹cache(缓存),里面再放一个“。nomedia”文件,就能避免手机系统的拦截提醒。
“作为一个安全从业者,说实话,国内主流厂商很多App的研发确实都没有遵循这样的开发规范,写代码的工程师也好,企业的管理人员也罢,建议还是多看看规范,注意一下这些问题。” 曲子龙说。
相关阅读 >>
APPle store 太平洋中心旗舰店将于 11 月 18 日在加拿大温哥华开幕
苹果:温州万象城 APPle store 将于 11 月 4 日开幕
苹果ios平台限制,报告称 netflix 网飞将通过APP store上架游戏
消息称苹果将推出儿童手表,比 APPle watch se 更便宜
京东支付全国客服电话号码大全已更新2023(实时/已更新中)苹果在美国正式推出 APPle pay later “先买后付”服务
微软测试restore APPs功能:可全部/部分恢复已删除应用
东方时尚驾校退款全国各售后服务电话号码2023已更新(2023/更新)苹果 ipados 16.4 为 APPle pencil 悬停功能增加新特性
更多相关阅读请进入《APP》频道 >>