文章来源:http://blog.csdn.net/newjueqi/article/details/18887571
在app的后台设计中,一个很重要的因素是考虑通讯的安全性。
因此,我们需要考虑的要点有:
1. 在app和后台,都不能保存任何用户密码的明文
2. 在app和后台通讯的过程中,怎么保证用户信息的安全性
在app中,根据安全考虑,用户的操作分为两类:
1. 用户登录注册操作
2. 用户的其他操作
在第一点,用户登录注册操作中,是会出现用户密码,所以在这个过程中,必须要使用https通讯,保证通讯的安全。
在第二点,用户的其他操作,怎么保证这部分通讯的安全呢?
在我的设计中,是采用了公钥加私钥保证安全。用户的id是公钥,通过一定的算法对用户的id进行加密得到一个加密字符串是私钥。当用户登录或注册后,通过https把公钥加私钥返回给app客户端。
这个过程如下:
但这个方法有个缺点,当别人截获了这个url时可以重复使用,所以有个改进方法是在传递的参数中增加时间戳,当发现这个时间戳离现在的时间已经很久了,就判断这个url已经失效了。但用时间戳怎么保证app的时间和服务器的时间同步?可以在app每次启动和注册登录时和服务器同步时间,然后在app内建一个时钟,时间戳在这个app的内部时钟获取,防止用户修改了手机的时间。
app后端系列文章总目录
如果您觉得这系列的文章对你有所帮助,欢迎打赏。
支付宝账号:[email protected] 收款人:曾健生
[文章作者]曾健生
[作者邮箱][email protected]
[作者QQ]190678908
[新浪微博] @newjueqi
[博客]http://blog.csdn.net/newjueqi
http://blog.sina.com.cn/h6k65