1、app客户端太大,不利于复用。
如果没有接口,app客户端是可以直接请求数据的,这个是可以做到,但是相当于接口的全部工作在app端写了,这样会造成app端比较大。比如,访问数据库的代码,Android要写,iOS也要写,太不利于复用。高质量代码的标准是可维护、可复用、可扩展、灵活性高。所以,如果有了接口,接口就可以对数据进行封装和业务处理,然后给app端。
2、不利于数据库安全。
接口可以把关安全性。因为客户端在客户手里,可以破解,可以反编译,整个架构下,
整个客户端都是V,数据库直接暴漏出来,别人可以扫描你的数据库端口,很危险。所以一般数据库,外部是不给访问的,你只能通过接口,而接口,会要求你登
录,登录后,根据你的身份。分配身份标记,再决定你能请求多少东西,每次请求都是由接口判断一次是否合法,就是根据SessionString,也可以是
cookie。其实cookie就是SessionString的ID。即使被破解,拿到一个,也是一个用户的数据被盗,其他用户不受影响。
accesstoken是一种方式,早期简单点的有appid,appkey方式,复杂一点的可以使用RSA加密。服务器和APP直接大部分通过接口调用,比如用户列表。/user/list/
post到/user/list/里面有加密的一个token这个是验证是不是一个合法的访问者。而且现在很多开发平台比如微信。
用HTTPS通信,另外APP往服务器接口发送的参数带token,还要加上签名,服务器端验签名(以防参数被篡改),校验token;同时加上时间戳,防止重放。(签名算法、密钥的分配安全存储要设计好)对服务器接口要有监控,监控到异常情况要有处理方案。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)