DCloud_UNI_CHB
DCloud_UNI_CHB
  • 发布:2021-11-19 20:57
  • 更新:2022-10-21 12:56
  • 阅读:6500

关于上周五部分iOS设备上App引擎崩溃的公告

分类:uni-app

各位开发者,

很遗憾的告知大家,DCloud服务在2021年11月19日下午遭遇大流量网络攻击,触发了iOS客户端的一个隐藏Bug,导致部分iOS设备上App引擎崩溃。

故障发生后,DCloud的工程师高度紧张,全力投入,在20分钟内将DCloud服务恢复正常,开发者的iOS App也随即恢复正常。

DCloud并非不负责任,也并非无能的公司。众多工程师仔细讨论,如何彻底杜绝将来再次发生类似故障,我们采取了如下完善措施:

  1. 服务器端技术专家组紧急集合,逐条确认服务器端的安全防控措施;补充说明:DCloud开发者服务已通过国家信息安全等级保护三级,证书编号:11010813802-20001;
  2. iOS App引擎当晚发布紧急更新,解决该隐藏漏洞。并检查了所有服务器返回数据的代码,确保以后即便服务器异常也不会造成App引擎崩溃;建议开发者尽快升级HBuilderX或离线打包SDK。

原因详细解释

  1. DCloud数据采集的目的
    为了持续优化应用性能、质量及提供统计报表,基于DCloud引擎开发的App,在运行过程中会采集应用启动时间、异常错误日志这两方面的数据。
    因为开发者的js代码无法正常采集到这些信息,比如启动时间,开发者的js代码能打点的第一行代码,已经是app运行了一会后才发生的事情了;崩溃更是如此,app崩溃时js也无法运行和打点数据。但这些信息又对于优化应用有重要参考意义。
    另外其他适配原生应用的统计sdk也不能正常统计到这2个信息,它们无法准确记录从app启动到首屏webview渲染的启动时间。
    这些数据,一方面用于DCloud优化产品,比如查看在哪些设备上启动慢或崩溃率高;另一方面,DCloud也给开发者提供了web界面自助查看这些数据,帮助开发者了解运营情况,详见dev.dcloud.net.cn。
  2. DCloud数据采集的合规性
    DCloud数据采集内容在HBuilder用户许可协议(菜单帮助-许可协议)和DCloud引擎隐私文档(Android平台iOS平台)中均有明确说明。
    这些数据的采集规则和脱敏策略符合中国各大应用商店规范和个人信息保护法,基于DCloud引擎开发的合法App,均可正常上线应用商店。
    DCloud通过了国家信息安全等级保护三级,证书编号:11010813802-20001,相关数据的保护措施完备。
    DCloud并非大数据公司,对采集用户个人隐私、开发者代码都没有兴趣。
  3. 如果仅是采集数据,没有返回内容,怎么会导致闪退?
    DCloud服务器会返回deviceID,因为现在手机上获取imei等唯一标记越来越困难,手机端app权限设置变化一次都可能导致设备id变化。为了尽可能保持标记统一性,由DCloud服务器计算一个更准确的deviceID。
    19日下午DCloud服务遭受恶意攻击后,无法给客户端返回预期格式的deviceID,iOS相关代码容错不合理造成了闪退。
  4. 影响面
    11月19日下午,iOS引擎,在异常的那20分钟内启动iOS app无法成功。之前启动,在那20分钟内使用的客户不会受影响。对开发者的波及面是比较有限的。

解决方案

在事故发生后,DCloud成立了专案组,首先应急解决了服务端故障,然后周五下午开会讨论治根方案,周六日与受影响的开发者主动打电话沟通,周一再次开了一天复盘总结会。
累计执行了众多方案:

  1. 采集服务器与客户端零信任机制,各自根治隐患
  2. 服务器强化拨测报警机制,对会造成重大故障的系统进行每分钟一次的拨测,在最短时间内发送告警
  3. 客户端排查所有请求代码,填补所有涉及服务器返回的容错代码,一处不漏(已于19日当晚加班发版)
    以后即便网络服务再被攻击,也100%确保不会闪退。
  4. 与受影响的开发者主动沟通
    此次故障给开发者造成的损失,我们感同身受。大家都是写代码的,都会被客户和领导责问。虽然故障时间只有20分钟,但发生这样的事情,肯定会给一些开发者造成损失,并破坏开发者对DCloud的信心。
    DCloud工程师主动联系了受影响的开发者,有些开发者电话或论坛私信未回,除了回复我们电话或私信外,也可以主动加QQ:154419462。
    我们会尽所能帮助开发者减少事故的影响,磋商令开发者可持续信任的方案。

针对本帖中开发者的热点评论,答复如下:

  • 关于源码:uni小程序sdk,面向大开发商,一直都有签署保密协议后获取源码的机制。如果你是政府机构或知名企业,可以发送邮件到bd@dcloud.io申请。

  • 关于后续App启动时间采集,也会改进策略,新增打点转向uniCloud版本和私有化版本,uni统计会开源并提供uni-admin插件,具体方案稍后公布。

  • 云打包和离线打包没有本质区别。云打包使用安心打包时,不会向DCloud服务器发送代码;即便不用安心打包,使用普通云打包,发送的仅是uni-app编译后的wgt,也不是源码,而且DCloud服务器不保存这些wgt。这些都在用户协议里明确说明了,DCloud不会违反用户协议,而且对这些wgt包也没有兴趣。

多年来,DCloud一直坚持为开发者提供免费、高效的开发工具的初心和使命,持续为开发者赋能。

DCloud初心不变,也希望大家继续信任DCloud!

22 关注 分享
时里 DCloud_uniCloud_WYQ 兔兔兔兔子 raise 希语 DCloud_uniCloud_JSON 虫雪浓 苏陌 罒 小恐龙lv 1***@qq.com MarkGo 单枪匹码 用云 w***@aliyun.com healthy 里海 愿随风丶飘雪 呵呵XLA 不老刘 7***@qq.com aiplat点com

该文章目前已经被锁定, 无法添加新评论

DCloud_heavensoft

DCloud_heavensoft

uni统计2已经更新为私有化部署。
app sdk如需要源码或定制联网策略,需联系bd@dcloud.io
2022-10-21 12:56
wgtyvgxyusgxu

wgtyvgxyusgxu

回复 DCloud_heavensoft :
这件事情已经快过去一年了,请问一下uniapp到底还有没有app sdk开源的计划?
2022-10-21 01:40
g***@163.com

g***@163.com

回复 言谷 :
我怀疑是这样的,这貌似是个云app,和小程序一样
2022-09-18 16:17
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 a***@163.com :
没关系
2021-11-26 19:17
a***@163.com

a***@163.com

提到了deviceId的问题,现在用uni.getSystemInfo接口获取到的设备号格式和之前不一样了,跟这个有关吗?
2021-11-26 17:21
石家庄前端

石家庄前端

回复 DCloud_heavensoft :
关于运行到微信开发者工具只剩page标签的问题, 用哪个版本的hbx就可以了啊,我撤回版本都不管用了,这样很影响效率,我昨天更新的最新版就出现这个问题了,上次出现我把微信开发者工具 和hbx都更新到最新就好了
2021-11-23 08:43
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 mysparrow :
正在改造,马上支持。
2021-11-22 20:04
mysparrow

mysparrow

可以给你们的问答社区系统提个建议么?点击评论的分页链接的时候可不可以自动跳转到目标评论页的显示评论的位置,加个#锚点的事,每次想翻页看评论点击下一页又跳到最顶上,然后又得慢慢往下翻,这用户体验太差了
2021-11-22 19:39
DCloud_heavensoft

DCloud_heavensoft

回复 石家庄前端 :
大概率你搞错了,因为这次更新没有提交与微信小程序相关的代码。单独开贴报详细情况吧
2021-11-22 16:58
jxtian

jxtian

回复 请教大佬 :
uni-admin的相关问题,可以向我反馈,qq:2279929296
2021-11-22 15:17