分类
通往 交易世界的捷径

是新⼿⼊圈必备平台

可莉 2021-10-11 12:57 373 0 0

微信小程序的修炼五脉(修仙)

那么当我们使⽤⾃⼰的“AppID”导⼊⼩程序时,这个⼩程序已经不再是原来的那个⼩程序,由于“AppID”的变化,当微信⼩程序调⽤“wx.login”时⽣成的“js_code”并不能与服务器后端的所绑定真实的“AppID”所进⾏的调⽤微信API的操作相兼容(即⽆法执⾏ jscode2session 操作)。因此⼩程序在登录等⼀系列列需要“openid”,“js_code”,“Session_key”等参数的操作均可能会失败,您会看到各种各样的错误提示,开发者⼯具红满天:

g.code 处便是在开发者⼯具内⼩程序获取到的不合法的code值,他会将其通过 /thor/iv/login 传递 给后端使⽤。我们可以直接暴⼒修改本地代码,将⼩程序通过系统功能获取 code 并将其作为变量传递 给后端API的操作修改为API直接请求我们刚刚得到的 code ,将其写死⽽不是通过变量引⼊,可谓 code 在变我不变:

第⼆种⽅式相交之下⽐较“温柔”些,例如在如下示例⼩程序中,⼩程序会先尝试去 Storage 中读取 userInfo 数据判断⽤户是否已经登录,若⽤户已经登陆并且数据没有过期则不执⾏登录相关操作,直 接使⽤现成本地保存的数据:

此时我们只需分析 userInfo 的数据结构,并构造相应的内容写⼊ Storage 中即可⼀劳永逸不需要再去执⾏登录操作:

再解决完登录问题之后,便可正式开始对程序进⾏⼀系列测试了。这⾥还有⼀个⼩技巧,在有些⼩程序 中开发者会留下⼀个可全局切换后端从⽣产环境到测试环境的接⼝,有些时候⽣产环境虽然没有漏洞, 但在测试环境中却能测出来,虽然会被降级处理,但⾄少也是⼀个漏洞。如下示例⼩程序中同时存在“⽣ 产环境”和“测试环境”两份配置代码:

在实际测试中,有些⼩程序功能并不是开放给全部⽤户所使⽤的,例如某⼀个商品⽀付成功之后的后续操作,⼤多数情况下我们并不会去实际购买商品,这时候如果我们⼀个个构造数据包进⾏测试会显的⽐ 较麻烦,此时我们就可以利⽤开发者⼯具强⾏修改⼩程序逻辑,直接通过⼩程序本身去构造数据包会较 为便捷,⽐如在某次测试中我们直接在⼩程序⾸⻚使⽤“wx.navigateTo”强⾏跳转⾄订单⽀付成功⻚⾯, 并传⼊⼀个假的订单参数:

并且在⼀些IOS/安卓程序中对数据包进⾏了数据内容加密或者验签操作,有时候可能⼀时间⽆法找到解密⽅法。此时我们可以考虑其是否有对应的H5⻚⾯或⼩程序,可能这些系统中并没有强制对数据内容进 ⾏加密/签名或使⽤了相同(相类似)的加密/签名⽅法。⽽由于微信⼩程序的特性我们可在源码中轻易 找到对应的解密⽅式以及“key”:

第三方?可靠吗

例如某⼩程序⼀键⽣成平台“应⽤⼤厅”中展示结果如下,模板⼗分丰富并且整⼀个业务⾮常成熟,可以说每⼀个⼩程序⽣成平台都积累了⼤量的⾮商业已经商业⽤户,也有很多⼤⼚会将⾃⼰的业务交给这些 供应商去做。但这也引发了⼀个问题,虽然这些平台⽣成的⼩程序五花⼋⻔,但后端还是同⼀套,只要有⼀个API存在漏洞,那么在此平台上⽣成的⼏乎所有⼩程序都遭殃,正式千⾥之堤溃于蚁⽳。然⽽这些平台⻥⻰混杂,没有⼀个有效的监管机制,并且很多⼚商本身并不是特别注重安全问题,此外即使有“⽩ 帽⼦”发现了这些漏洞也很难或者有⼀定的⻛险将漏洞反应给⼚商。

例如笔者在测试某SRC的⼩程序时发现旗下有⼀款利⽤某⼩程序⼀键⽣成平台⽣成的商店APP,⽤于出售其公司零售商品。笔者在授权测试中发现⼩程序在调⽤名为 login 的后端API时会明⽂返回当前的 session_key

还敢放⼼的⽤⼀键⽣成的⼩程序吗,想让他们重视你的⽤户数据你疯啦,可能当他们意识到⾃⼰的系统被骇时会优先推脱责任⽽不是反思⾃⼰。前⾯说的是第三⽅⼀键⽣成⼩程序平台,此外会有许多⼈偏 向⾃⼰搭建现成⼜⽐较可控的“第三⽅⼩程序管理平台”,例如我们使⽤“Sumap 全球⽹络空间超级雷达”系统以“⼩程序后台”为关键字,便搜索到了许多⼩程序后台,这些结果中⼤部分都是直接使⽤第三⽅系统搭建的,其中⽐较出名的有“微擎”、“微赞”这些第三⽅管理平台。

这些⽼牌管理平台本身较为安全可控,爆出的漏洞也⽐较少,⽽且也可以⾃助扩展许多模板及插件,深受企业⻘睐。但插件漏洞终究是⼀个跨不过去的坎,随时有可能成为⼀颗定时炸弹,甚者⼀些管理员压 根就不知道⾃⼰装了有漏洞的插件。例如在某次授权测试中我们发现某商城⼩程序后端使⽤了“微擎”管理平台最新版本并⽆已知安全漏洞,接着我们通过查看其对应的⼩程序源码发现其⻚⾯⽂件夹名称均以 sudu8_page 开头,可以判断出使⽤了“万能⻔店⼩程序模块”插件。在这个插件的某个⽼版本中存在⼀ 处SQL注⼊漏洞,我们可利⽤此漏洞轻松拿下此⼩程序。

⼩程序插件直接在微信客户端内是⽆法搜索得到的,但我们可以通过登录⾃⼰的⼩程序微信开放平台账 户在“设置” --> “第三⽅设置” --> “添加插件”中搜寻⼩程序插件。在这些插件中也不乏许多内部组件:

当然微信⼩程序插件并不能直接⽤在我们⾃⼰的⼩程序上,点击添加之后还有⼀个申请过程需要开发者进⾏⼀个确认才可,但是如果你申请接⼊的⼩程序伪装的⾜够像那么开发者将你审核通过的⼏率是⾮常 ⼤的。⼀旦我们拿到了这些插件的介⼊权限就相当于给你了⼀个开通了⼀个VPN账户,或者更恰当点说 是在单点登录的回调地址中给你留了⼀个⽩名单。

除了⼩程序本身可以使⽤第三⽅插件之外,微信还提供了⼩程序账户第三⽅授权功能功能。您可以通过 此功能将对于的⼩程序账户授权给第三⽅平台使⽤,⼀旦授权第三⽅平台等于接管了您的账户可以执⾏ 任何操作(视实际给予权限⽽定)。虽然开发者在登录微信开放平台时基本上是⾮常安全的,即使获取 到了账户及密码也需要本⼈微信扫码确认才能登录,但是权限⼀旦授权给第三⽅,第三⽅的安全措施可 能就没有这么的完善,这便让我们在测试中有机可乘。

那么如何查看微信⼩程序授权给了那些第三⽅平台呢?贴⼼的微信也为我们准备好了,我们可以在⼩程 序详情⻚⾯的“该账号的部分功能由以下服务商提供”中查看到当前⼩程序账户被授权平台对应的公司名 称。例如下图我们可以看到“Hack Inn”⼩程序的账户权限授权给了名为“宁波邻家⽹络科技有限公司”的服务商:

web还是那个web

⼩程序渗透来渗透去,归根结底还是在做各种WEB的测试,只不过图形界⾯从浏览器上移⾄微信中罢 了。Web安全没做好,⼩程序再华丽也只是个花瓶,虽然讲的再多笔者也想单独把这个作为⼀个⼩节来 单独谈⼀谈。⼩程序的web后端其实有三种情况:和H5、⼿机APP、⽹⻚使⽤同⼀套API系统,和⼿机 APP使⽤同⼀套API系统,单独开发⼀套API系统(使⽤第三⽅系统包含在内)。那么当微信⼩程序的API 为单独开发时,并且同时存在相应的H5、⼿机APP和⽹⻚版,我们可以对后端系统的安全性做如下排 序:⽹⻚版>⼿机APP>H5 ≥ ⼩程序,微信⼩程序在这套产品中往往是最为脆弱的。柿⼦还得挑软的 捏,在许多渗透测试中,⽹⻚不⾏、APP不⾏,往往微信⼩程序总能作为突破⼝,成为捷径中的快速 路。很多情况下,开发者本身对微信⼩程序并不是那么重视,APP和⽹⻚为其客户的主要⼊⼝,上头说 要搞⼀个,于是乎随随便便的搞了⼀个,本身整个项⽬并不重视,那么对其开发产品的安全性也相较于 APP和⽹⻚产品没那么重视。

这些漏洞中不包含XXS漏洞,因为微信⼩程序的特性是不能执⾏动态脚本的,所以此类漏洞不 可能会在⼩程序中存在。但此时并不代表⽆法挖掘XSS漏洞,这⾥有⼀个常⽤的思路分享给⼤家:例如 在如下示例⼩程序中⽤户在⼩程序内登陆之后可以使⽤评论功能留⾔,接着我们看到有“分享⾄朋友 圈”功能。微信⽬前是不⽀持在朋友圈内直接分享⼩程序⻚⾯的,所以开发者开发了⼀个可以浏览⽂章以 及评论内容的⽹⻚供使⽤者分享⾄朋友圈使⽤。此时我们可以在⼩程序内使⽤恶意内容留⾔,然后将此 ⽂章分享⾄朋友圈来获取对应的Web⻚⾯,若开发者在Web⻚⾯内并未做严格的过滤,那么将会成功触发XSS。

除XSS之外其他需要⽤户交互才能产⽣的漏洞例如:CSRF、JSON劫持、CORS劫持等需要⽤户交互才能 触发的漏洞基本上不会存在,因为这类攻击都是基于浏览器对⽤户的信任,⽽⼩程序内⽤户的⼀切操作 都是在微信沙盒内完成的,攻击者⽆法通过浏览器利⽤⽤户在⼩程序内的身份凭据来完成攻击。此外类 似于URL跳转、CRLF注⼊、⽬录遍历等的中/低危漏洞由于后端API的特性(⼤多以JSON格式返回数据) ⽽基本上也不复存在。我们在渗透测试是不应该⾸先考虑这些基本上不会存在的漏洞,从前⽂提到的四 ⼤类漏洞作为切⼊点才是上策,浪费时间的事⼉咋们没必要做,况且这些漏洞本身的危害也并没有这 么“直接”哪怕存在也最多算个中危。此外不得不提到⼀个虽然没有任何技术含量确是渗透界第⼀⼤杀⼿的“弱⼝令”⼤师,弱⼤师善于利⽤⼈ ⼼,⼀出⼿打遍天下⽆敌⼿,再强的WAF也是浮云。⼩程序⾃然离不开⼀个web管理端,它可能位于:同服务器⽗⽬录下 https://example.com/ 、同服务器异⽬录下 https://example.com/manage/ 、同 服务器不同端⼝下 https://example.com:65535/ 、不同服务器下 https://admin.example.com/ (往往在⼀个C段),若测不出其他漏洞,找⼀个管理端弱⼝令回家也是极好。

除了上述提到的各种针对⼩程序的渗透⽅法,是否还能扩展出更加丰富多彩的攻击⼿段呢?⽐如N年前 最有名的 XcodeGhost 事件,对苹果Xcode开发者⼯具进⾏修改加⼊恶意代码并分发⾄第三⽅下载渠 道;前段时间爆出的 PHPStudy后⻔ 事件,同样的⼿法同样的第三⽅下载渠道分发。这样⼀次次看似漏 洞百出的供应链攻击到最后终了时效果却⾮常的好,⽤最直的钩钓最刚的⻥。未来在红蓝对抗中是否也 会出现针对微信⼩程序的供应链攻击?将“微信⼩程序开发者⼯具”以及市⾯上各类嵌⼊微信⼩程序的“第 三⽅SDK”修改并植⼊恶意代码后通过各种下载渠道分发,虽然说攻击精准度不⾼但只要⽹撒的⼴⻥⼉应 有尽有。此外微信⼩程序本身是否存在⼀些安全漏洞呢,是否可以突破⼀些⼩程序机制呢,还有太多太多需要我们去研究,值得我们去研究.

是新⼿⼊圈必备平台

是新⼿⼊圈必备平台

2022年4⽉15⽇,URF|盈展·年轻⼒消费集团(盈展集团)与全球最具影响⼒的区块链线 上虚拟世界 —— Decentraland 平台正式合作, 完成了X年轻⼒消费阵地虚拟线上空间的搭 建。TX淮海|年轻⼒中⼼作为⾸个落实项⽬,成为中国⾸个开启元宇宙空间的线下实体商 业综合体,开拓并诠释“CURETAIL策展型零售”的新维度。 TX年轻⼒元宇宙的开启,旨在 为年轻消费社群提供更为丰富的线上虚拟体验。届时,TX淮海携⼿场内年轻⼒品牌共同发 起的 Xtage 时尚企划也将在TX 年轻⼒元宇宙⾸发呈现。

如今,全球疫情反复,线下实体商业屡受挑战,通过“元宇宙”来重新探讨定义⼈、货、场三 者的关系已成为⾏业重要命题。TX淮海作为“CURETAIL策展型零售”先⾏者,率先开启元 宇宙空间势在必⾏。

“TX元宇宙的开拓,是’CURETAIL策展型零售’商业模式的⼜⼀次⾰新。线上沉浸式互动⽣ 态与线下零售体验的结合会碰撞出很多可能性。我们希望通过这次的探索与实践,能为科技 化时代下的数字原住⺠——Z世代继续创造全新体验,汇集多维度年轻⼒。”

专访友盟+ CEO 朋新宇:数据服务市场的下⼀个关口在哪⾥?

在接受极客公园的采访时,朋新宇透露,目前阿里在技术上会对友盟+予以支持,在具体的业务上友盟+会依靠来自阿里⽣态的⼒量。作为国内老牌的数据服务商,被阿⾥收购这 6 年,友盟+究竟经过了怎样的发展。在今年友盟+UBDC 全域大数据峰会,极客公园专访了友盟+CEO 朋新宇,就友盟+近年的发展状况,如何看待竞争⽅面进⾏了专访。以下为专访对话内容,经极客公园编辑(极客公园= Q ; 朋新宇= A ):

Q:⽬前友盟+有 Dplus、ADplus、Oplus 这些产品,也有⾦融、⼿机等解决方案。⽬前这些产品在友盟+整体业务中的⽐例如何? 这些⽐例近⼏年的变化如何?

A:友盟+的业务体系我们⽤「三纵两横」来阐述,三纵中第⼀部分是互联⽹运营数据服务,这是我们业务中占⽐最⼤的⼀块业务。通过⼀站式 App/Web 数据采集,帮助开发者实现数字化运营和精细化分析。第⼆部分是全媒体、全链路营销服务系统 ADplus,帮助⼴告主及代理商从触达、认知及搜索到品牌在全⽹的影响、关注度进⾏宏观监测。
第三部分是新零售数据服务:Oplus,基于智能感知设备让线下零售商实现线下数据可追踪,同时将线上数据赋能线下,以消费者需求为导向,提升效率、降低成本、提升⽤户体验。

两横是:⾦融和⼿机两个⾏业大数据解决⽅案。在金融方面,我们从⻛控数据产品开始,逐渐扩展到获客营销、⼆次营销、贷中、贷后的用户生命周期的管理。同时我们推出了手机行业的⼤数据解决⽅案,以 7 亿真实活跃用户的全域数据为能源,通过 是新⼿⼊圈必备平台 15 万颗运算核⼼与数据引擎助⼒手机⼚商实现从市场感知、业务与产品规划,到产品上市、上市后 运营等业务流各环节的数字化转型。

Q:你刚刚有提到就是说 760 万家的网站,还有 165 万款的 App 在这些数字之间,有没有阶段性增长的数据可以提供?

A:每年都是⾮常健康的⼀个增长,这⼏年间,每年我们其实增长很迅猛,特别是现在的 App 的互联网发展到的比较饱和的状态,今年的量跟去年的量级相⽐,在 App 的覆盖上也增加了⼆⼗万,我们在新增市场中还是会保留 70~80% 的绝对的量。

我们原来说电商卖货的各种 App 是趋于饱和的,但线上线下的融合,赛道⼜会扩⼤了,很多⼀些原来在互联网开店也会⾛向线下布局,这个市场⼜会重新繁荣,所以说可能不是个绝对的线性,增长到⼀个什么程度。

Q:从产品类型来看,友盟+的产品线其实跨度是相对⽐较大的,有的解决⽅案甚至是⼀些⼈⼯智能公司专⻔在做? 对你们而⾔,未来业务的核⼼和边界在哪? 怎么判断⾃⼰在竞争中所处的地位?

A:我们所说的全域数据首先是在数据的广度上,全域数据要求线上数据与线下数据的全链路打通,以实现消费者的全场景在线; 其次在数据的宽度上,大数据 (行为数据) 与小数据 (认知数据) 需要深度结合,并能构建出以消费者为核⼼的数据体系;再次,需要关注数据的有效性 (活数据),确保数据是在实时更新。

A:⽬前来讲对于友盟+来讲,我们的客户基本上有两类,⼀类就是说我们提供的是⼀种 SaaS 模式的基础产品,客户⾃主去使用,没有任何⻔槛就不会挑选,不会具体选择哪些客户。

是新⼿⼊圈必备平台

可莉 2021-10-11 12:57 373 0 0

△ 是新朋友吗?记得先点web前端学习圈关注我哦~

2020年大前端发展趋势

2020年大前端发展趋势

迅速发展的前端开发,在每⼀年,都为开发者带来了新的关键词。2019 年早已结束,2020 年前端发展的关键词⼜将有哪些呢?发展的方向又会是什么呢?参考2019年大前端的发展,不出意外,前端依旧会围绕⼩程序、超级APP、跨端开发、前端⼯程化以及新技术运用等几个方面进行展开(可以参考2019年大前端技术趋势深度解读)。

1. 小程序

在⼩程序⽅⾯,今年仍然是⼩程序突⻜猛进的⼀年,各⼤主流的 App 都上线了⼩程序能⼒的⽀持,各前端团队也都有了专⻔的⼩程序开发团队,以适应更快的⼩程序开发需求。同时App 中很多关键的功能都被⼩程序所替代,甚⾄有些 App 已经变成 Native ⼩程序壳,上层的应⽤实现全部是⼩程序。

在微信小程序出现以前,大家在谈 Hybird、ReactNative,但终归只是技术层面的狂欢,始终没有业务属性的注入。小程序的出现,一方面告诉业界在当前设备上 Webview 也没差到哪去,另外一方面告诉业界如何让有能力的商家在超级 APP上进行私域运营。

另一方面,从技术角度说,在上层 DSL 的严格限制下,超级 APP 就可定义符合自己诉求的 Web 标准,弥补当前 Web 标准的不足,最后和客户端配合,结合离线、预加载、定制Webview 能产出类似于 NSR 等各种酷炫的技术模型,让 Web 在端内低成本达到 Native 版的体验,端外也不会像 Weex 一样有点小别扭。

2. 跨端开发

跨端开发⽅⾯,RN ⽣态已经⾮常成熟,或者说看不到太多发展前景,因为目前还停留在0.61版本,似乎1.0版本仍然遥遥无期。因此,今年很多团队转战⾕歌⽣态的 Flutter,特别是 Flutter for Web 是新⼿⼊圈必备平台 的第⼀个 Release,⼜让 Web 前端重燃希望、跃跃欲试。

同时,苹果公司也发布了全新的 UI 系统——SwiftUI,同时,开源社区中 SwiftUI for Web已经在路上了,SwiftUI for Android 还会远吗?

跨端开发⽅⾯,Flutter 仍会快速发展,并且会有更多的开发者,Flutter on JS、SwiftUIfor Web&Android 也将是开源⽣态值得期待的事情,毕竟跨端仍没有⼀个完美的解决⽅案。

3. 前端工程化

曾经我们谈 Yoman,谈 CLI 等系列构建工具,但在团队大了之后始终觉得差点什么。反观 Java 同学,从没听说过 Spring Boot 配置工程师。今年很多团队都在建设完整的前端 DevOps 流程⼯具集,⼀些团队之间也开始协作共建,不管是 Web 还是⼩程序项⽬,从新建项⽬、开发、联调(tiao)、部署、测试、发布、运维到监控统计,都有完善的⼯具做保障和提效,今后前端⼯程也会越⾛越标准化。

展望2020年前端的发展,前端工程体系一定会更加闭环,不再是一个脚手架这么简单,而是会结合 IDE,打通业务属性,从项目初始化、到编写代码、到 CI、到灰度、到发布 形成一个完成的闭环。

4. Serverless

Serverless 的⽕爆⼏乎可以归因于前端。因为 Serverless 能够较完美的⽀持Node.js,使⽤ Serverless 帮助前端开发者解决了使⽤Node.js 过程中的诸多问题。

当前的前端工程师大多都是科班出身,虽不能和正宗的服务端开发同学比,但也可写很多服务端层的业务逻辑。当前已经有很多公司在做 BFF 层,来满足这部分诉求,但依旧摆脱不掉运维、机器分配 这条拦路虎。随着 是新⼿⼊圈必备平台 Serverless 的逐步落地,BFF 这层的代码会摆脱运维、机器分配等复杂的问题,同时大概率会由前端同学写这部分代码,服务端同学专注中台系统的实现。从业务上说,业务的试错成本也会大幅度降低。

随着 Node.js 成为前端开发者必备技能之后,云计算的不断普及会让Serverless 触⼿可及。当越来越多的开发者尝到研发⾼效的甜头之后,Serverless 必将对前端的研发模式产⽣变⾰。

同时,使用Serverless的同学一定会使用 TS。这也意味着,2020 不写 TS 可能真的就 Out 了。

5. WebAssembly

WebAssembly 是一种新的字节码格式,目前主流浏览器都已经支WebAssembly。和 JS 需要解释执行不同的是,WebAssembly 字节码和底层机器码很相似,可以快速装载运行,因此性能相对于 JS 解释执行而言有了极大的提升。也就是说WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行, 浏览器厂商需要做的就是根据 WebAssembly 规范实现虚拟机。

有了 WebAssembly,在浏览器上可以跑任何语言。从 Coffee 到 TypeScript,到 Babel,这些都是需要转译为 js 才能被执行的,而 WebAssembly 是在浏览器里嵌入 vm,直接执行,不需要转译,执行效率自然高得多。

AutoCAD 是由大量 C++ 代码编写的软件,经历了非常多的技术变革,从桌面到移动端再到 web。之前,InfoQ 上有一个演讲,题目是《AutoCAD & WebAssembly: Moving a 30 Year Code Base to the Web》,即通过 WebAssembly,让很多年代久远的 C++ 代码在 Web 上可以运行,并且保证了执行效率。

hrome 的核心 JavaScript 引擎 V8 目前已包含了 Liftoff 这一新款 WebAssembly baseline 编译器。Liftoff 简单快速的代码生成器极大地提升了 WebAssembly 应用的启动速度。2019年,很多的公司都开始投入人力进行WebAssembly的学习个改造,相信2020年WebAssembly会经历爆发式期。

6. 5G

2019年一个绕不开的话题就是5G。⾸先,5G 带宽的⼤幅提升带来传统 Web ⻚⾯复杂度的进⼀步提升,如同 2G 到 4G 变⾰过程中⻚⾯从 WAP 的纯⽂本超链接时代变⾰到 4G 全图⽚视频时代。5G 对于⻚⾯的变⾰必将是巨⼤的,但肯定不会⼀蹴⽽就。因为相应的配套设施也需要逐步完善,如硬件性能和浏览器的处理速度。⽽服务端渲染(SSR)肯定是其中⼀个捷径,轻前端重后台,5G 是桥梁,把渲染放后台,不像同构那么简单,需要关注和优化渲染性能。WebAssembly 或许会在这个机遇下得到快速发展,因为它可以⽆缝对接后台多种语⾔,⽽后台渲染的优化也会带来前端⻚⾯研发模式和技术架构的变⾰。

其次,5G 带来的万物互联,⼜将带来有别于智能⼿机和普通 PC 的多样化的应⽤场景,VR、可穿戴设备、⻋载系统、智能投影、智能交互等⼜会把 Web 带⼊各种各样的垂直领域,这也意味着前端将有更多⼴阔的空间。相信随着5G的大规模商业,会诞生一批新的互联网巨头。

2020年大前端发展趋势

本文分享自微信公众号 - web前端学习圈(web-xxq)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。