微信小程序制作
当前位置:网站首页 > 小程序热文 > 微信小程序,你必须知道的安全分析 返回列表

微信小程序,你必须知道的安全分析

作者:admin 时间:2023-10-25 浏览量:197
近期微信小程序重磅发布,在互联网界掀起不小的波澜,已有许多公司发布了自己的小程序,涉及不同的行业领域。大家在体验小程序用完即走便利的同时,是否对小程序的安全性还存有疑虑。日前对微信小程序进行初步的安全技术分析,在此整理出来抛砖引玉,如有描述不当的地方,欢迎纠正。
本文中,将从小程序的框架、功能模块安全、账户使用安全方面进行剖析,希望能为各位泽友带来不一样的认知。
一、小程序框架概述
在第一部分小程序框架概述中,将介绍小程序抽象框架、小程序调用框架和小程序初始化流程。下面让来逐一介绍。
1、小程序抽象框架
1.1视图层
包含WXML、WXSS和页面视图组件。
WXML是一种类似XML格式的语言,支持数据绑定、条件渲染、列表渲染、自定义模板、事件回调和外部引用;
WXSS是一种类似CSS格式的语言,用于描述WXML的组件样式,决定WXML中的组件如何显示;
组件是框架提供的一系列基础模块,是视图层的基本组成单元,包含表单组件、导航、地图、媒体组件等常用元素,如图1说明当前小程序支持的的视图组件;
图1 小程序视图组件
1.2逻辑接口
包含小程序注册、页面注册和功能API。程序注册代码位于app.js,页面框架注册位于app.json,小程序的app.js和app.json。功能API当前包含网络请求功能、文件处理功能、数据存储功能、微信的开放接口功能等,详见微信官方说明。
图2 小程序注册代码示例
图3 小程序功能API示例
1.3 原生实现层
承载小程序依赖的具体操作,由微信APP支撑实现,包括tbs内核、JSAPI框架、初始化小程序配置、功能接口实现等,实现代码主要位于com.tencent.mm.plugin.appbrand包,关联功能有微信平台原有的数据存储能力、二维码能力、网络请求能力、支付能力等。
2、小程序调用框架
图4 微信小程序调用框架简图
上图主要说明小程序功能逻辑框架流程,由顶层的小程序实现代码(类似js),到微信底层支撑实现模块的调用流程,通过微信JSAPI框架支撑页面到本地实现的桥接调用。小程序缓存数据存放在Storage中,对应文件为DB数据库;小程序文件操作通过Hash机制进行映射,并存储在外部存储空间。
承载小程序展示的组件有.plugin.appbrand.ui.AppBrandUI、.plugin.appbrand.ui.AppBrandUI1、.plugin.appbrand.ui.AppBrandUI2、.plugin.appbrand.ui.AppBrandUI3、.plugin.appbrand.ui.AppBrandUI4共五个组件,五个组件实现逻辑相同,AppBrandUI1- AppBrandUI4继承自AppBrandUI,图5为每个承载小程序的Android组件定义。
图5 承载每个小程序展示的组件定义
支持最多同时有五个小程序在加载运行状态,每个小程序使用独立进程运行,如果当前开启的小程序已位于缓存进程中,则无需重新加载直接开启(速度快),否则重新加载并替换(如果已有五个缓存进程存在)存在时间最久的缓存进程,若当前未满五个缓存进程,则从未用进程中随机取得一个使用。下图展示微信APP同时已开启过五个小程序的对应进程。
图6 小程序的进程缓存示意图
3、小程序初始化流程
小程序初始化流程可分为开发者后台控制关键配置和安全的配置更新流程。
3.1开发者后台控制关键配置
小程序后台控制的配置信息主要包括小程序名称、图标、最大webview深度、最大请求数、请求合法域名列表、下载合法域名列表和上传合法域名列表、socket合法域名列表以及APP包的基本信息等,动态加载的配置信息相关代码详见【附录1】。
3.2安全的配置更新流程
启动小程序检查是否需从服务端更新最新配置,如果需更新则下载最新配置到本地APP。在初始化阶段完成小程序的关键属性更新和配置,此部分属性配置完全由后端配置控制,在更新传输和本地存储被恶意篡改的可能性极低,提取配置信息的实现代码详见【附录2】。
综上内容,为泽友们介绍了小程序的框架部分,接下来,要讲的就是小程序功能模块安全分析了,来围观哦!
二、功能模块安全分析
功能模块安全分析将分为6小部分介绍,分别是:
1、网络传输安全
2、数据存储安全
3、文件存储安全
4、扫码二维码安全
5、微信开放接口安全
6、小程序钓鱼风险
7、泄露数据到微信隐患
下面我们先看一下网络传输安全。
2.1网络传输安全
支持发起通用请求、文件上传下载、WebSocket通讯机制。
Https校验安全
通用request网络请求仅支持采用https,处理请求的接口位于com.tencent.mm.plugin.appbrand.g.c中,包含url校验、域名校验、发起请求和处理响应结果。图7图8分别为官方正式DEMO和某银行APP请求包示意图。
图7 官方DEMO request功能请求包
图8 某银行APP request功能请求包
Https校验采用类似浏览器的策略,通过系统原生的URL.openConnection()方式请求,证书校验的策略为校验公钥证书的根证书是否在合法CA列表凭证中。因此自签名证书无法使用;针对特定终端设备,即是校验公钥证书的根证书是否在受信任的凭据中,在设备被恶意安装代理根证书的前提下,存在被中间人攻击的风险。Request网络请求实现代码详见【附录3】。
通过域名控制可以访问的url
由后台配置小程序支持的域名(见1.3),仅可访问已配置域名的url,校验过程会将配置的域名先下载到本地,然后每次请求时本地做域名检查通过后才发起。域名检查代码实现详见【附录4】,图9展示了域名不匹配进行错误请求的示例。
图9 小程序域名控制检查
此外,对于通用request请求平台会进行请求超时控制(当前应该是5s),当请求超过5s即会被中断(文件上传操作也有超时中断控制),如下图所示超时后请求将被抛掉。
图10 请求超时中断控制
网络下载
同样仅支持从含有已配置域名的url下载资源,不是走http/https协议。下载成功后临时存放,通过自定义协议wxfile进行访问,映射到SD卡上目录/sdcard/tencent/MicroMsg/wxafiles/wx_id/tmp_[hash_value]。
图11 网络下载文件示意图
文件上传
上传至小程序合法域名下的服务器上,并保存临时文件在SD卡的文件存储区域/sdcard/tencent/MicroMsg/wxafiles/wx_id/tmp_[hash_value]。
图12 文件上传示意图
小程序外链url规范
图13 小程序不允许外链url规定说明
小程序在微信的生态下运行,不开放给个人使用(需要企业)。在小程序中不允许调整到外部网站,也不允许放链接。同时微信在小程序发布前会对小程序进行审核。
2.2数据存储安全
以(key,value)形式存放在本地缓存,将小程序需要存储的key/value数据直接存储到Storage DB缓存,小程序进行数据保护需要自行做加密处理。数据存储在本地DB,微信APP会对DB数据整体做本地加密保护,所以小程序本地存储数据的安全性依赖于微信数据库加密方案的安全,策略与EnMicroMsg.db类似,如下图所示。
图14 本地数据存储示意
2.3 文件存储安全
文件保存在SD卡/sdcard/tencent/MicroMsg/wxafiles/wx_id/目录下,通过wxfile://协议指向SD卡目录下的文件。
存放SD卡的文件有做完整性校验,无法被篡改。首先,最终存储的文件名是:对称加密(文件流内容Alder32校验和|原始文件名)生成的,最终文件名和文件内容会通过自校验判断完整性;其次,本地缓存是通过HASH映射查找文件。所以即使能破解文件名和文件内容,绕过文件自身签名校验,篡改为攻击者的伪造文件,小程序APP也无法映射到该伪造文件进行使用。
2.4 扫码二维码安全
扫码功能(wx.scanCode)依赖微信APP的原生的扫码功能;生成小程序特定页面的直达二维码,依赖于ACCESS_TOKEN,而ACCESS_TOKEN是通过小程序(公众号)私有的APPID和appsecret请求得到,攻击者无法获知到该信息伪造生成二维码。
2.5 微信开放接口安全
用户信息获取,包含以下信息:
接口返回的明文数据会进行签名校验,需要依赖登录session_key;接口返回的敏感数据会通过密文返回,解密算法依赖登录session_key。攻击者无法获知用户的session_key进行破解,窃取用户数据。
此外分享、客服消息、模板消息中输入的内容仅会以文本形式输出;模板消息会将数据通过https传输到服务器,而后推送到客户微信服务通知;微信支付功能继承微信平台原有的功能,安全性较为可靠。
开放平台大部分功能会先通过wx.login获得code;然后使用该code换取openid;以此openid进行既定的微信功能操作,比如发送模板消息推送、发起微信支付等。
图15 开放平台发布模板请求示意图
2.6 小程序钓鱼风险
微信小程序以唯一appid标识身份,不同小程序拥有不同的appid。如果恶意开发者伪造流行的小程序APP,如美团、大众点评,制作一个仿冒的微信小程序,且使用不同的appid,有可能绕过微信的审核流程发布到市场。小白用户如无辨识能力,极可能被钓鱼受骗。但由于小程序无法嵌入url跳转,同时有访问域名的控制,使得钓鱼风险在一定程度上减轻。小程序钓鱼风险依赖于微信平台的发布审核、监管控制。
2.7泄露数据到微信隐患
微信小程序的网络请求通过微信APP实现转发,微信平台可能可以获取到小程序的所有网络请求和存储数据,因此对于小程序业务敏感的数据,建议由小程序再做一层保护;小程序的操作轨迹日志会加密传送到腾讯TBS后台,如下图所示。
图16 操作轨迹日志监控上传
三、小程序账户使用安全
通过目前使用体验,发现当前存在三种账户形式:
方式一:通过wx.getUserInfo获取的微信用户信息,以openid标识一个用户应用到小程序;
方式二:通过公众平台appid+appsecret+code,换取session_key/openid,并生成小程序第三方session,在小程序的服务器维护第三方session和微信session_key/openid的关联;客户端使用第三方session进行请求;
方式三:通过小程序内部自实现的登录模块,如手机号+动态验证码登录
方式一是一种弱账户体系设计,小程序本身无法获得微信用户的标识信息,如手机号、身份证或银行卡,依赖于微信开放平台接口可以提供的用户信息,详见2.5节,一般会在页面上展示微信用户昵称和头像,如下图17所示。
图17 使用微信信息登录
方式二和方式三是强账户体系,方式二类似微信公众号的授权机制,通过小程序获得的code和微信用户基本信息,到第三方服务器获取访问的token(第三方session),第三方服务器维护用户使用的session与微信session_key/openid的关联关系。图18为微信官方提供的登录实现时序图,图19为某餐饮小程序授权登录的请求过程。
图18 官方提供的授权登录实现方案
图19 某餐饮小程序授权登录过程
以上第一个请求通过code和微信基本用户信息到第三方服务器换取token,而后的请求通过token请求用户个人数据,如团购代金券使用历史记录。方式二不能将微信公众平台的appsecret或者session_key(属于敏感信息)传递到客户端,否则可能导致安全攻击。方式三属于小程序自身实现方式,依赖自身实现的安全性,与微信平台无关。
四、总结
说了这么多,也该总结一下了,大致如下8点:
1、框架上继承了微信成熟的JSAPI框架和底层的TBS浏览器内核;
2、小程序的关键信息完全由后台控制进行配置,如可访问的域名信息;
3、通用网络传输使用Https,并对访问域名进行校验控制,无法抵御攻击者在本地安装代理证书实施中间人攻击的威胁;
4、本地数据存储采用(KEY,VALUE)形式存放在DB,数据的保护继承了微信的数据库加密防护策略;
5、本地文件存储采用HASH映射机制进行文件定位,文件存储在外部存储,本身通过自定义算法实现完整性校验;
6、存在仿冒钓鱼小程序的可能,依靠于微信平台的审核监管能力;
7、针对特定小程序,由于是在微信平台生态中运行,小程序自身仍需对敏感数据进行安全防护;
8、小程序登录体系可以依赖微信接口和公众号平台,也可以由小程序自行实现。前者需要根据微信平台的安全规范实施,后者则由小程序自行控制安全性。
联系方式:18066528545   029-89298792

阅读过此文章的读者,还阅读过下面的文章

  • 小程序的开发费用基本上是很多企业在进行小程序开发时,所关心的一个重点,有时开发费用很大程度上会影响的小程序的建设。一般来说小程序的开发费用主要就是,认证费、域名费、服务器费和开发费用,那么这些费用到底是如何进行计算的呢?

    (一)费用构成总结

    小程序开发费用主要由基本费用和开发费用组成。基本费用包括认证费、域名费和服务器费。认证费通常为 300 元 / 年,域名费几十元不等,服务器费根据配置在几千元不等。开发费用则分为定制开发、模板开发和使用第三方小程序制作工具三种方式。定制开发费用较高,根据项目需求可能在数万至数十万不等;模板开发价格相对较低,一般在几千元不等;第三方小程序制作工具成本根据模板和功能需求在几百元到几千元不等。此外,小程序开发后还需要考虑后期维护费用,包括服务器和云存储费用、常规维护和更新费用、第三方服务费用以及安全监测和更新费用。

    (二)影响因素总结

    小程序开发费用受到多种因素影响。功能需求是关键因素之一,功能越多、越复杂,费用越高。开发周期长短也会影响费用,周期越短可能需要投入更多人力,费用增加。技术难度大的小程序需要更高水平的技术团队,成本自然上升。服务质量高的开发团队报价相对较高,但能提供更全面的服务。不同的开发方式也会导致费用差异,定制开发适合功能复杂、个性化需求高的项目,模板开发和第三方工具适合预算有限、需求相对简单的项目。

    (三)选择开发方式建议

    对于企业来说,选择开发方式应根据实际需求和预算来决定。如果企业有充足的预算,且对小程序的功能和设计有较高的个性化要求,定制开发是一个不错的选择。定制开发可以完全按照企业的需求进行设计和开发,实现独特的功能和用户体验。但需要注意的是,定制开发周期较长,需要与开发团队密切沟通,确保项目按时按质完成。

    如果企业预算有限,且对小程序的上线时间有要求,模板开发或使用第三方小程序制作工具是更为合适的选择。模板开发成本低、上线速度快,功能相对固定但能满足基本需求。第三方小程序制作工具操作简单,按模板收费,后期维护升级免费,适合没有技术背景的企业和个人商家。

    总之,这些就是影响小程序开发费用的主要因素,特别是开发方式的选择,基本上很多主要的费用都是集中在这部分上的。当然了还有小程序后期的维护费用,这部分的话可以和小程序开发公司进行协商,决定最终的价格。

  • 小程序现如今在日常生活中的使用越来越广泛,其所拥有的流量也越来越庞大。在这种情况下小程序开发对于企业来说是很重要的。在进行小程序的开发时,一般有着两种选择,分别是定制和模板,对于小程序而言两种开发都有着不同的优势,那么对于轻易来说到底应该选择定制还是模板呢?

    模板开发的特点

    (一)成本优势

    模板开发价格相对较低,对于一些预算有限的商家来说是一个不错的选择。通常情况下,商家只需付出低廉的年租费即可使用模板小程序。例如,一些基础电商类模板的年租费可能在六千多元,而功能相对简单的模板成本则更低。相比定制开发动则几万甚至十几万的费用,模板开发的成本优势十分明显。

    (二)开发周期短

    模板开发速度快,尤其适合新手。新手直接选一个喜欢的模板,然后再添加需要的版块,再上传自己的图片,编辑文案,快的话十几分钟就能生成自己的小程序。因为模板已经提前设置好大部分的功能和框架,无需从零开始进行开发,所以能够大大缩短开发时间。

    (三)功能丰富

    模板系统拥有市场上常见的许多功能,比如商品分类、评论管理、物流配送等。而且,通常模板类小程序制作工具会有免费的功能更新和升级,以适应不断变化的市场需求。例如,随着电商行业的发展,可能会增加一些新的营销工具等功能。

    (四)局限性

    虽然模板开发有一定的优势,但也存在一些明显的缺点。首先,源码归属不在商家,而在于平台。这就意味着商家无法完全掌控自己的小程序,可能会面临一些风险,比如平台方的政策调整可能会影响小程序的使用。其次,功能不能随意开发,只能使用模板上既有的功能设计,无法做到非常个性化。如果商家有独特的业务需求,可能无法通过模板开发来满足。此外,模板小程序的界面设计通常比较通用,缺乏针对特定品牌的个性化设计,容易给用户造成千篇一律的感觉,难以在竞争激烈的市场中脱颖而出。


    定制开发的特点

    (一)个性化定制

    定制开发能够根据企业的特定需求进行全方位的设计和开发,打造出独一无二的小程序。企业可以根据自身的品牌形象、业务模式和目标用户群体,定制小程序的界面设计、交互方式和功能模块。例如,一家高端时尚品牌可以定制一个具有独特视觉风格、个性化购物体验和专属会员服务的小程序,展示其独特的品牌个性和高端定位。与模板小程序相比,定制开发的小程序更能满足企业的个性化需求,为用户提供与众不同的体验。

    (二)功能强大

    定制开发可以根据企业的具体需求定制各种功能,无论是复杂的业务流程管理、高级的数据统计分析,还是与其他系统的集成,都能轻松实现。企业拥有完整的源码所属权,可以根据业务发展的需要随时进行功能扩展和升级。例如,一个电商企业可以定制一个具有个性化推荐、精准营销、库存管理等功能的小程序,满足其复杂的业务需求。同时,定制开发的小程序经过专业团队的优化和测试,性能更加稳定,用户体验更好。

    (三)开发周期长

    定制开发的流程相对繁杂,需要经过需求分析、设计、开发、测试等多个阶段。首先,开发团队需要与企业进行深入的沟通,了解企业的需求和期望,然后进行详细的设计和规划。在开发过程中,开发团队需要逐行编写代码,确保小程序的功能和性能符合要求。最后,还需要进行严格的测试和优化,确保小程序的稳定性和安全性。因此,定制开发的周期通常较长,可能需要几个月甚至更长时间。例如,一个功能复杂的电商小程序或社交类小程序,定制开发的周期可能需要 2 至 4 个月或更长时间。

    (四)成本较高

    定制开发的价格相对较高,一般在几万到十几万不等。这是因为定制开发需要投入更多的人力、物力和时间。开发团队需要根据企业的需求进行个性化设计和开发,同时还需要进行严格的测试和优化,确保小程序的质量和性能。此外,定制开发还需要租用独立的服务器,以保证小程序的稳定性和安全性。例如,根据市场调研,一个功能较为复杂的定制小程序开发费用可能在 10 万元左右。但是,虽然定制开发的成本较高,但其能够为企业带来的价值也是不可估量的。定制开发的小程序能够更好地满足企业的需求,提升企业的品牌形象和用户体验,为企业带来更多的商业机会和收益。

    总之,对于企业来说模板有模板的好处,定制有定制的优势,企业在选择小程序开发方式时,应充分考虑自身的实际情况。如果预算有限、功能需求较为简单、对上线时间要求较高,可以选择模板开发;如果对小程序的个性化要求高、功能需求复杂、资金充足且注重用户体验和品牌形象,定制开发则是更好的选择。

  • 现如今随着小程序的发展越来越快,使用场景也是越来越广泛,而造成这种情况的主要原因就是其轻量级、无需下载、即用即走的特点。并且能够实现无缝对接微信或支付宝的支付功能,极大的方便了用户的使用。基本上未来小程序的开发数量会越来越多,那么现如今越早开发小程序都有哪些优势呢?

    (一)名称优势早把握

    小程序的名称具有唯一性,这就意味着一个好的名称能够为企业带来巨大的优势。如果企业能够尽早开发小程序,就可以抢到更容易让人记住、更多人搜索的好名称。例如,在旅游行业,“XX 旅游攻略” 这样的名称,如果被先开发的企业注册,那么当用户搜索旅游相关的小程序时,这个小程序就有很大的机会优先展示,从而为企业带来大量的流量。据统计,拥有好名称的小程序在搜索结果中的点击率能提高 30% 以上。早开发就能早把握名称优势,为小程序的推广引流和品牌形象宣传打下坚实的基础。

    (二)上线时间占先机

    上线时间对小程序排名有着不可忽视的影响。微信为了推广小程序,会给予上线早的小程序一定的支持。在两个实力相当的同行竞争中,这细微的差别可能就决定了胜负。越早开发小程序,就越能获得更优先的展示机会,从而增加曝光率,吸引更多流量。有数据显示,上线时间早一个月的小程序,其曝光量可能会比晚上线的同类小程序高出 20% 左右。

    (三)积累访问量领先

    早开发的小程序能够累计更多的用户访问量。随着时间的推移,先开发的小程序有更多的机会被用户发现和使用。当访问量增多后,小程序往往能够得到优先展示的机会,进一步提升曝光率。比如,一个早开发的电商小程序,通过不断的推广和优化,吸引了大量的用户访问。当用户搜索相关商品时,这个小程序就更容易出现在搜索结果的前列。据分析,访问量多的小程序在排名中的优势能使其获得比其他小程序多 30% 以上的流量。

    (四)占据用户习惯高地

    先开发的小程序更容易被用户熟悉和认可,从而培养用户习惯。对于用户而言,当他们使用并认可一个小程序后,就会倾向于一直使用它。即使后期有更多类似甚至更好的小程序上线,用户也会因为习惯和信任而更青睐熟悉的那个。例如,一个早期开发的外卖小程序,用户在使用过程中体验良好,那么即使后来出现了其他外卖小程序,用户也可能因为习惯了这个小程序的操作和服务而继续使用它。先开发的小程序能够占据用户习惯高地,获得更多用户的支持和信赖。

    总之,随着小程序的不断发展,对于企业来说越早开发小程序不仅能够带来更多的收益,并且在未来进行竞争时,也会占据有利地位。

  • 在有网站的情况下还需要开发小程序吗?关于这个问题主要是要根据自身的情况来决定的。小程序和网站之间都有各自的优点和缺点,到底需不需要开发小程序,很大程度上需要根据具体的情况来进行决定。那么小程序和网站之间到底都有什么区别呢?

    (一)平台及访问差异

    网站可以在不同的操作系统和设备上通过浏览器访问,具有广泛的兼容性。用户只需在设备上安装一个浏览器,就可以访问各种网站。而小程序则依赖于特定的移动应用程序框架,如微信小程序需要在微信应用内访问,支付宝小程序需要在支付宝应用内访问。这使得小程序的访问受到一定的限制,只有安装了相应应用程序的用户才能访问。

    (二)安装更新对比

    网站无需安装,用户可以直接通过输入网址在浏览器中访问,非常方便快捷。而小程序需要在用户的移动设备上下载和安装相应的应用程序。不过,小程序的更新相对较为方便,用户可以自动获取最新版本,无需手动操作。而网站的更新则需要用户手动刷新页面,才能看到最新的内容。

    (三)功能交互差别

    网站通常具有更丰富的功能和交互性,可以提供复杂的服务和内容,如在线购物、社交网络、多媒体播放等。网站可以通过各种技术手段实现丰富的交互效果,满足用户的多样化需求。小程序则更专注于特定的功能,如点餐、预约、地图导航等,提供更简洁、轻量级的用户体验。小程序的界面通常更加简洁明了,操作也更加方便快捷。

    (四)开发成本考量

    相对而言,开发一个网站的成本可能会更高。因为网站需要考虑不同浏览器的兼容性和响应式设计,以确保在各种设备上都能正常显示和使用。同时,网站的开发还需要考虑服务器的配置和维护等问题。而小程序的开发相对较简单,可以在特定的应用程序框架中进行开发,如微信小程序使用的是 HTML、CSS 和 JavaScript。小程序的开发成本相对较低,开发周期也较短。

    (五)推广可见性辨析

    网站可以通过搜索引擎优化(SEO)等方式提高可见性,吸引更多的访问量。通过优化网站的内容和结构,提高在搜索引擎中的排名,从而让更多的用户能够找到网站。小程序则需要用户主动搜索和安装,推广相对较为有限。但是,小程序可以通过微信等社交媒体平台进行推广,利用社交网络的传播效应,吸引用户的关注和使用。

    总之,在有网站的情况下想要开发小程序最好是先明确目标、需求、用户群体、使用场景等,进行综合考虑在决定是否选择开发小程序。小程序和网站各有优劣,企业可以结合两者的优势,为用户提供更好的服务,提高用户体验和忠诚度,为企业的长远发展奠定基础。

  • 小程序在建设完成上线后,确保小程序的正常使用和提高用户体验就成为了最关键的方面了。而想要保证用户的正常使用和用户的体验,小程序的维护工作就是不可避免的了。那么小程序的维护工作都是什么,应该如何完成呢?

    (一)硬件维护

    硬件维护主要是指技术层面的维护,这对于小程序的稳定运行至关重要。在进行硬件维护时,可以选择原开发公司或者第三方开发公司。

    如果选择原开发公司进行维护,优势较为明显。原开发公司对小程序的各种数据最为熟悉,在进行维护时更加方便快捷,能够节省大量的时间。例如,当小程序出现技术问题时,原开发公司能够迅速定位问题所在,并采取有效的解决方案。据统计,由原开发公司进行维护的小程序,故障解决时间平均比第三方开发公司缩短 30% 左右。

    然而,如果没有更好的选择,也可以考虑找第三方开发公司进行维护。虽然与原开发公司相比,可能在对小程序数据的熟悉程度上有所不足,但在某些情况下,第三方开发公司可能会带来一些新的思路和方法。在选择第三方开发公司时,需要重新发放资金用于后期维护,并且要对其技术实力、服务质量等方面进行全面的评估。

    (二)软件维护

    软件维护主要包括对用户的深度分析以及定期更新页面内容等方面,这对于提升小程序的吸引力和用户黏性起着关键作用。

    对用户进行深度分析是软件维护的重要环节。通过分析用户来源,比如用户是来自微信官方账号还是小程序,以及了解他们的消费习惯,可以为小程序的运营提供有力的依据。例如,可以利用问卷调查、行为追踪和社交网络分析等方法收集用户数据,构建详细的用户画像。据相关报告显示,通过精准的用户画像进行个性化推荐,能够提高小程序的转化率 20% 以上。

    定期更新页面内容也是软件维护的必要工作。包括产品上新、新活动推广等。这样不仅能让小程序保持新鲜感,吸引用户的关注,还能培养用户的习惯。对于新关注的用户,要通过优质的内容和活动培养其复购行为;对于已经关注的用户,要让他们习惯小程序的更新时间和频率,从而在有需要的时候有针对性地关注小程序动态,进而成为长期稳定的客户。例如,一个电商小程序定期推出新品和优惠活动,能够有效提高用户的活跃度和留存率。

    (三)定期备份数据库

    定期备份数据库是小程序维护的重要环节。数据是无价的,小程序中的重要业务数据通常存放在数据库中,为了防止数据异常丢失造成无法挽回的损失,需要对数据库进行定时的自动备份工作。

    例如,可以利用小程序云开发提供的数据导出接口,结合云函数的定时触发功能,实现数据库定时自动备份。个人实测,2W 条记录,2M 大小的数据,导出大概需要 3 - 5 秒。数据量越大,导出所需时间就越多。在创建数据库导出任务后,会得到一个 job_id,当导出完成后,会返回一个文件下载链接,可以将备份文件上传到云存储中以供使用。如果不需要长时间保留备份,也可以只将 job_id 存储起来,当需要恢复备份时,通过 job_id 查询到新的链接,下载数据恢复即可。

    定期备份数据库可以确保小程序的稳定性,即使出现意外情况,也能快速恢复数据,减少损失。

    对于小程序的维护来说最重要的就是这些方面,只要保证好小程序的数据和代码,就算出现问题了,也能够快速恢复,避免影响小程序的正常使用。并且在进行小程序的维护时也可以对小程序进行不断的优化,帮助小程序进行更好的发展,提高小程序的竞争力。

  • APP软件很大程度上是企业为了让用户获得更好的体验,提高用户的留存率,从而获取更多用户的收益,选择进行APP软件的开发。而对于企业来说最关心的一点就是的开发一款APP所需要花费多少费用了。关于这个问题,很大程度上还是要看APP的功能来进行最终决定的,那么开发APP的具体需要多少钱呢?

    首先不可避免的就是APP是域名和服务器费用了。这个费用可以说是不可避免的,一般情况下性能好的服务器大多都是很贵的,在前期来说可以买一个小一点服务器,大概一千左右的,后期服务器不行的话再进行更换,最好是在阿里云或者腾讯云购买,相对来说更有保证。域名的话相对来说会比较便宜一点,大概在一百元左右。在就是APP的认证费用了。这个是官方统一收取的,一般是三百一年。在就是APP开发所需要的费用了。这个费用其实是很难给出明确的费用的,毕竟不同的APP所需要开发的功能和复杂称度等都会影响到APP的开发价格,相对来说模板的APP价格会比较明确和便宜一些,一般的模板大概需要五千左右的价格,当然了要是对模板不满意需要进行修改的话,根据修改的程度不同,所需要的额外费用也是不同的。除此之外就是APP上架所系要花费的费用了,一般只有上架苹果的应用商场需要九十九美金,安卓的是免费上架的。

    这些就是开发一个APP软件所需要的费用了,其中影响最大的就是APP的开发费用了,这部分基本上要和软件开发公司进行商议,确定好具体的功能等方面才能够决定最终的随需要的费用。
029-8929 8792 177 9128 8395 西安嘉瑞德网络科技公司
工作时间:周一到周六 8:30-18:30
邮箱:2528823962@qq.com
QQ:2528823962
地址:陕西省西安市未央元朔路明丰伯马都A座10820室
在线客服系统
  • 微信小程序制作微信二维码
    扫码咨询
Copyright © 2015 西安嘉瑞德网络科技有限公司 陕ICP备2023001199号 网站地图