apicloud传输安全以及app开发一些小注意点

在用apicloud做的几个app应用中,好几个都是商城方面的应用。讲道理在这些商城应用上,其实数据安全是应该注意的。

因为用apicloud做的app,在请求和发送数据的时候,其实用fiddler等抓包工具都能查看到发了哪些请求。模拟这些请求进行发送的话,可能对后台数据库会产生一些影响。

数据请求按照请求目的的话,大致可以分成3类。

1.publish类,像首页轮播图,商品列表,商品分类这些请求,基本上就算有人请求到这些数据,也只能作为被爬取的数据被他收录到他的数据库中,所以这部分请求对安全的要求比较低。

2.protect类,像个人信息,收获地址这些请求,包含了用户的一些个人信息,一旦泄露的话可能会引起一些麻烦,比方说其他同类app就知道了你的用户群体并进行联系把你的用户分流过去。这些接口就需要注意安全方面的问题。

3.private类,提交订单,进行支付这些直接影响收益的接口,对数据安全的要求非常高。这些请求就需要进行加密。

加密的方式,大概也可以分成三种。基本与token有关。token即令牌,我理解的就是代表了用户的身份。像第一种publish类的请求,是不需要用户身份就可以进行请求的,对安全的要求较低,这些请求就不需要加上token。

第二种protect类的接口,一般使用静态token进行加密。像我们目前使用的方法,就是在登陆时候请求到了一个token存到本地缓存中,然后在portect类的请求头中,加上{Authorization:'Bearer '+token}作为请求头传给服务器,服务器就能识别是这个token对应的用户在请求数据并返回信息。这样就能防止CSRF(跨站请求伪造)。。不将请求的信息存储在session中,减少了对session操作,也能减轻服务器的压力。

像这类接口,要求再高一点的话,可以和后台进行沟通约定一种加密算法。比方说,需要传的参数为{name:"hk",phone:'13655555555',birthday:'1994/02/14',avatar:'/uploads/images/20170920/60a107593bfae61edf2ec99548075691.png'},则在前台可以对这些参数进行加密,将这些参数转化成字符串后加上一个时间戳并且用md5加密成一个大段字符串传送给后台,后台再把得到的这个数据反向解密,然后进行操作。

对于第三种支付,订单类的private接口,可以采用动态token进行加密。后台会写一个接口专门用户请求获得一个只能使用一次的token,一旦这个token被用于请求中了,这个token就失效,这样的话可以让请求更加安全。


app开发中的一些小注意点:

1.底部tabbr尽量使用apicloud新建底部导航栏自带框架的代码。并且这是实现不了突出来一块的那种效果的,如果需要实现那种效果,需要使用NVTabBar模块,用里面的marginB属性进行控制

2.如果遇到过大的背景图片,使用openwin或者openframe的时候放在background里比放在页面css的background里体验好。

3.如果有多个frame需要打开,尽量使用framegroup。使用framegroup会对frame进行预加载,在切换的时候不会卡顿。

4.为了体验较好,图片进行预加载,在src中先放一个默认的图片路径,在请求到图片后onload重置图片src

5.想到了再补充

你可能感兴趣的:(apicloud传输安全以及app开发一些小注意点)