×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

APP开发公司分享后台制作“核心技术”

文章编辑:网站建设 文章来源:APP开发 浏览量:

 博纳网络在前面关于APP开发后台搜索软件、定时处理队列等方面进行了经验分享,几天我们聊聊一个APP项目开发后台制作的核心技术。作为深圳APP开发公司,我们真诚希望这类型的文章对您的APP平台运作带来帮助。
APP开发之App后台制作核心技术
App是近几年才发展起来的,由于App客户端的特性,因此App后台的技术实现和般的Web后台是有区别的。
(1)APP开发后台制作经验之:用户验证方案
App操作中经常涉及用户登录操作,用户登录就需要使用用户名和密码。为了置全起见,在登录的过程中暴露密码的机会越少越好登录过程中怎样才能最大程度地避免泄露用户的密码的可能性呢?
1.使用HTTPS协议
避免信息的泄露,最基本的方案是所有涉及安全性的API请求都必须使用HTTPS协议,HTTPS协议是“HTTP协议”和“SSL/TLS协议’的组合。SSL是“Secure  Sockets  Laver”的缩写,中文称为“安全套接层”其是20世纪90年代中期由网景公司没计的。原来在互联网上使用的HTTP协议是明文,存在很多缺点(比如传输内容会被偷窥和篡改),发明SSL协议是为了解决这些问题。到了1999年,SSL协议因为其应用广泛已经成为互联网上的事实标准,IETF就在1999年把SSL协议标准化。SSL协议标准化之后的名称改为TLS (Transport Laver Securitv)协议,中文称为“传输层安全协议”。习惯上把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。
  可以把HTTPS大致理解为“HTTP over SSL”或“HTTP over TLS”。其是一个安全通信通道,基于HTTP开发,用于在客户计算机和App后台之间交换信息。其使用安全套接字层(SSL)进行信息交换,简单来说其是HTTP的置全版。HTTPS实际上应用了安全套接字层(SSL)作为HTTP应用层的子层。
HTTPS的模型如图所示
             HTTPS的模型
   APP开发程序员与客户看看支付宝涉及登录和支付的页面,URL都是UHTTPS开头,这就意味通信是使用HTTPS。国内主流开放平台的API,例如新浪微博、腾讯等,API请求都是以HTTPS开头。
    HTTPS是业界常用的安全协议,支付宝登录的页面就是使用了HTTPS协议,如图所示

(2)APP开发后台制作经验之:基本的用户登录方案
图3-2所示  支付宝使用HTTPS的登录界面
    传统Web网站使用Cookie+Session保持用户的登录状态,那么在App后台怎么实现类似的功能呢?在App后台怎么避免每次验证用户身份都需要传输用户名和密码呢?
解决上面的问题,可以参考下面例子
把App后台想象为一个房间,里面有个房间管理员。同时房间门有把锁,这把锁有两种打开方式
·输入了这把锁上注册的用户名和密码。
·用房间管理员提供的钥匙。
用户进入这个房间的流程如下。
(1)用户第次输入锁上注册的用户名和密码打开这把锁后进入房间.找到房间管理员,让其提供把钥匙
(2)以后用户每次需要进入这个房间用这把钥匙就行,不用担心旁边有人偷看到自己的用户名和密码,从而导致用户名和密码的泄露
(3)用户决定一段时间内不再进入这个房司,又怕钥匙被偷,进入房司后把钥匙还给管理员,让管理员把钥匙销毁其中
(1)就是用户的登录操作;(2)就是用户登录后验证身份的操作;(3)就是用户退出登录的操作
把上面的例子转换为计算机的操作,描述如下
1. App后台接收到App发送的用户名和密码后.验证用户名和密码是否正确。如果错误刚返回错误信息。如果App后台验证正确,生成一个随机的不重复的tokeu字符串(例如“daf32da456hfdh”),tokeu字符串作为用户的唯标识(token就是上面例子中提到的钥匙)。在Redis中建立token字符串和用户信息的对应关系,例如,把token字符串“daf32da456hfdh”和id为“5”的用户对应。注意:Redis的hash数据结构将会在后面 hash存储对像的数据”这节中详细讲解。
2.App后台把token字符串和用户信息返回给App,App保存这些数据作为以后身份验证的必备数据。生成token的流程如图所示
                  图生成token的流程
3.需要验证用户身份的操作必须要把token字符串传给App后台验证身份。
   例如,“test.com/user/update”是更新用户的信息的API,这个API必须验证用户身份,当调用API“test. coln/user/update”时,把token字符串“daf32da456hfdh”附在URL上,变成“test.com/user/update?token:daf32da456hfdh”。
    当App后台接收到这个API请求时,权限设置中要求验证用户身份,于是取出参数中token的值“daf32da456hfdh”,在
(1)中建立的token字符串和用户信息的对应关系中查找,如果没发现这个token值,则返回验证失败的信息,如果发现这个token值,则获取这个用户的信息。行相关的更新操作。
4.当用户退出登录时,通过调用退出登录的API,让App后台把这个用户对应的token字符串删除退出登录的API“test. com/user/logout”也要验证用户
token:daf32da456hfdh”。当App后台接收到退出登录的API请求时,在
否存在,token字符串存在就把token和用户信息删除。
身份,调用时需要加上token变为“test.com/user/logout?
(1)中建立的tokeu字符串和用户信息的对应关系中查找token字符串是
   关于HTTPS安全协议方面的本文就分享到这里, 注意:这个方案并不是十分安全,身份验证依赖token字符串。如果用尸泄露了URL,那token也泄露了,这相当于钥匙被黑客复制了一份,深圳APP开发将在“ App通信安全”中将描述一个防止token在通信中泄露的方案。博纳网络编辑整理。

当前文章链接:/construction/appkaifa/1357.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。