热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

拼多多被骂很无辜?“远程删图”原来是一场误会!

在数字时代,智能手机已经成为了我们生活中不可或缺的一部分。小小的屏幕不仅记录着我们生活的点滴与过去的回忆,也是一些重要信息与个人隐私的载体。不夸张地说,在某些公司面前,你的身份证还


在数字时代,智能手机已经成为了我们生活中不可或缺的一部分。小小的屏幕不仅记录着我们生活的点滴与过去的回忆,也是一些重要信息与个人隐私的载体。不夸张地说,在某些公司面前,你的身份证还不如你的手机更能证明自己——前段时间因手机丢失而被盗刷银行卡的新闻就是最好的例子。


所以我们也能看到大家对个人隐私、个人数据的关注度也逐渐提高,小米、vivo等手机公司更是先后推出了严格的权限管理机制,将一切试图盗取个人信息的小动作暴露在大家面前。


可是前段时间一则关于「App私下删除用户照片」的新闻却将这个功能抬至风口浪尖,也将不少用户的情绪点燃——一个第三方App,凭什么删除用户的照片?


软件真的有办法删除用户文件吗?


第三方应用有能力删除用户的数据吗?


先说结论,有。但拼多多的这份回应也没有问题,原则上拼多多没有必要去刻意删除用户的照片,这更多的应该只是误会。



但在大家开始批判之前,我想先介绍一下现代手机的数据管理机制: 在以严格权限管理闻名的iOS中,软件无论是读取、写入用户数据,都需要经过用户的专门授权,这也是iOS系统受大家喜爱的原因。但因为iOS采用了严格的沙盒机制,每个App只能对自己沙盒内的数据进行「增删改」;对于自己沙盒外的数据,App无权过问。



举个最简单的例子,我们把iPhone里一张图片导入到第三方软件里处理(注意这里是导入,而不是软件对原始图片进行直接编辑)。 处理并导出后,我们能在系统相册里看到原图与导出的照片,但在第三方软件里,我们只能看到导入时创建的副本,看不到原始照片。


即使我们在第三方软件中手动删除编辑过的照片,在系统自带的图库还也能找到原图与编辑后导出的图片。这失而复得的照片证实了一件事——在iOS中,软件只能对自己沙盒内创建(导入)的副本进行删改,只要图片离开沙盒(导出),第三方软件就无权再次访问。


Android手机稍微复杂一些,不同于iPhone严格的沙盒限制,只要用户手动授权软件访问完整存储信息,Android软件确实有权限对原始数据进行删改,大家想一下应用商店里那些「文件管理器」就明白了。



尽管如此,为了保证用户数据的安全,绝大多数软件依旧会延续iOS系统中的沙盒逻辑,仅对自己沙盒中的数据进行删除。由于不会影响用户本身的数据安全,这种沙盒机制也是Google等Android开发者更推荐的做法。


但国内Android生态从来就轮不到Google说了算,为了保证自己的软件能在各种不同的「魔改定制系统」中正常运行,部分软件开发商选择「手动造轮子」,不遵循谷歌的指引,自己想办法搭建外部通道。这次「删除照片」的风波,其实就是因软件开发不规范所引起的误会。


为什么软件要「自我清理」


那开发者为什么要大费周折,用更多的工作量来实现谷歌已经开发的功能呢?难道谷歌做的不够好吗?


有一说一,谷歌这个沙盒删除的机制确实有自己不方便的地方。


刚才我们说过,采用沙盒内访问的App无法对原始文件进行修改,只能访问「副本」。 这种做法虽然安全但不高效,同时也容易造成文件重复、冗余的问题。举个最简单的例子,第三方软件中你已经把照片删除了,但原始文件在系统相册中依然存在,这个「真假删除」的逻辑本身就是违反用户直觉的。


抛开真假删除的问题不谈,「副本」机制也容易带来重复文件的问题:我用系统相机拍摄了照片A、导入修图软件a后修图软件创建了副本图片A-a,编辑后我把A-a输出到系统相册,再倒入到拼图软件B。拼图软件导入后生成了副本图片A-a-b,如果我想把图片发到社交平台c,平台在导入时又会创建副本A-a-b-c。



这时候我们看看,手机里已经有了A、A-a、A-a-b、A-a-b-c四个文件。 而且因为这些文件都已经导出、离开了应用原本的沙盒,所以「按谷歌行事」的软件还没办法自动删除这些多余的「半成品」,这简直就是早期Android手机「相册里出现软件素材」的场景再现。


不跟开发者指引,直接使用完整权限删除编辑时留下的垃圾文件?是的,这可以方便用户,但代价是会被骂上热搜、在社交网站被拉着「游街示众」。你是开发者的话,你会怎么选?


总结


在我看来,牺牲用户体验,赶紧跟谷歌指引显然是更安全的做法。毕竟「多做多错、少做少错」,在手机里生成多余的文件最多也就是拖慢用户的手机而已。



或者这么说吧,「软件删除用户数据」的争论,本质上还是用户便利与数据安全之间的矛盾。以iPhone为例,因第三方软件无法直接对原始相册进行修改、删除,所以我常用的Google Photos无法完全代替系统自带相册;每次在微信里对图片剪切、「打码」后,相册里也会多一张需要手动删除的照片。


这么做虽然安全,但又是否是用户真正想要的呢?回想一下微信电脑端接收文件后必须「另存为」一次才能正常编辑的繁琐步骤,相信大家心里都有答案。




推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
xjoliemonicane_934
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有