前言:

这两年移动端开发的热度明显不如前几年,而且混合式开发框架诸如appcan的兴起在一定程度上降低了移动端开发的门槛,而最近更加流行的React开发更是把移动端原生开发的热度拉低很多。基于React Native构建的移动APP无论是在体验还是在速度上都可以同原生APP抗衡。同时互联网巨头提供的移动开发平台以及流量入口的便捷性,也让更多人或者企业放弃开发原生APP,毕竟自己开发同时要开发安卓端又要考虑苹果端,对时间成功以及人力成本都是很大的考验。而诸如微信公众号、微信企业号开发、钉钉开发、支付宝应用开发也越来越流行。

现在的web开发都讲究前后端分类的方式,像前几年用jsp/asp做开发后端进行页面路由,通过session管理用户登录状态的方式,现在已经不再是主流。前端越来越重,处理的逻辑、交互越来越复杂。后端相对却越来越简单和复杂,说简单是业务处理简单,大多数情况下都是做数据的提取并返回到前端即可,说复杂是因为大数据、集群、微服务的兴起,相比以前简单的单应用来说,后端生态框架越来越往集群上转,同时数据的重要性愈发明显。去年做过一个网元分析的项目,后端的核心人员全是数据处理和建模人员,通过对底层信令文件数据的加工、抽取、清洗,一层一层沉淀到上层表,然后web开发仅仅是查询数据库,并提交数据到前端即可。前端根据数据放到各种图形化框架、地图UI组件上去展示。整体来看,早几年开发中重点负责业务逻辑处理的java开发反倒成了最轻松地一环,因为业务逻辑由专门的数据人员通过脚本、定时任务、存储过程去处理,而页面路由,页面数据模型则全部由前端自己处理了。

说到页面路由,最大的感触还是前端技术的日新月异。前几年前端的Jquery可谓是一家独大,几乎很少有听说有所谓的前端框架。但是nodejs出来之后,模块化开发、面向对象方式的js开发、vue/angleJs/react这些前端框架变得越来越流行,单页应用、前端路由这些概念对于前端的开发以及用户体验可谓是颠覆性的。

废话扯了很多,回到主题上来,今天主要记录一下之前做的一个项目中使用到安全校验规则。

需求:

甲方的业务中,有一个功能是在APP上提供两个按钮,点击按钮后,可以对全省的用户进行批量操作。影响范围之广,操作失败后果严重之大显而易见。客户说,这个功能万一被被人恶意使用,后果非常严重。所以要求绝对安全性。

除了本身的权限校验机制外,交互安全也必须全面。

当时提出几个方案:

1.使用https请求,请求加密

2.网络限制,即只有在特定的网络里才能请求这个业务对应的接口

3.多会话式加密请求方式

其中,第一种方案被否定了,因为客户不提供域名,也不提供证书。第二种方式也被否定了,客户说用APP就是要求快捷,你不能要求我只能在公司才可以操作。

最后选择第三种。所谓多会话式加密请求,其实是借鉴的SIP协议在进行呼叫及注册时候的规则,SIP协议在发送INVITE请求时,第一次会收到407鉴权请求,根据服务回的相关信息,按照统加密规则进行加密,然后再次INVITE,把相关鉴权信息带上,鉴权通过了才会发送呼叫。根据这种原理,我们的多伦会话请求的基本思路是,第一次请求带上需要操作的相关信息,收到服务回的相关信息,根据相同规则,生成加密串,再重复提交,后端校验,然后进行后续操作。

那么,这其中的重点就在双方认证的规则。

具体流程如下:

移动端开发同后端交互安全机制记录相关推荐

  1. 网易云音乐开发--前后端交互

    前后端交互 首先启动服务器 1. 根目录下执行: npm start 2. 服务器地址: http://localhost:3000 3. 示例: http://localhost:3000/bann ...

  2. python开发前端后端区别_前端开发与后端开发有什么区别?

    有些人对前端开发和后端开发还存在着疑惑,其实顾名思义,前端开发就是用户看得见摸得着的东西,而后端更多的是与数据库进行交互以及处理相应的业务逻辑.其实主要区别体现在以下两个方面:知识结构与实现和工作职责 ...

  3. java服务端开发安全_后端开发:APP与后端交互的安全性

    声明 此文原创,未经允许,禁止转载,可以分享. 最近在做一个项目,是一个APP的后端开发.我需要完成后端框架的建立.数据库设计.后端代码的编写.在这里讲一下APP与后端交互的安全性. 没有AUTH的验 ...

  4. php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的

    文章来自:https://www.jianshu.com/p/b2cb2a2c3313 作者:Neyo_凉 点击加入:PHP自学中心技术交流微信群 商务合作: 请加微信(QQ):2230304070 ...

  5. uni-app跨端开发实现APP与H5之间的通讯和交互

    最近在研究uni-app跨端开发APP和H5的通讯和交互,比如H5调用APP的方法,APP往H5里面传参,H5往app外面传参.话不多说,上代码! html文件放本地的话必须放在项目根目录下的stat ...

  6. 后端/服务端开发方向面试题全解析

    笔者在 2020 届秋招中斩获了京东.网易.去哪儿网等10余家互联网公司的校招 Offer.本 Chat 针对后端.服务端开发方向,分类的详细讲解后端服务端开发方向的面试题目,希望能够帮助到大家,在面 ...

  7. 【系】微信小程序云开发实战坚果商城-前后端交互之订单实现

    第 4-7 课:前后端交互之订单实现 目录 开篇 [系]微信小程序云开发实战坚果商城-开篇 基础篇 [系]微信小程序云开发实战坚果商城-弹性盒子 [系]微信小程序云开发实战坚果商城-ES6 简单入门 ...

  8. 从前后端交互逻辑出发、基于企业开发标准,Web微信授权登录系统开发项目分享

    背景 首先,在网页中开发第三方登录系统的案例越来越多,用户的操作习惯也逐渐被引导改变,更加简洁有效的登录交互系统将会成为网页开发中必要的一环.从项目的用户使用背景.微信公众号的开发模式.企业代码的标准 ...

  9. 【云风skynet】详解skynet的多核高并发编程丨actor模型丨游戏开发丨游戏服务端开发丨多线程丨Linux服务器开发丨后端开发

    skynet中多核高并发编程给我们的启发 1. 多核并发编程 2. actor模型详解 3. 手撕一个万人同时在线游戏 视频讲解如下,点击观看: [云风skynet]详解skynet的多核高并发编程丨 ...

最新文章

  1. Struts2问题总结
  2. 前端一HTML:十二:元素查找过程的详解
  3. 【人脸对齐-Landmarks】人脸关键点检测方法及评测汇总
  4. spring条件注解有哪些_Spring4有条件
  5. 使用Git子模块和开发模式管理Python项目
  6. Chrome浏览器的自动保存密码提示功能禁用方法
  7. 脚本计算文件MD5 SHA1 SHA256值(Windwos及Linux)
  8. vba手机号码归属_手机号码归属地查询代码
  9. 从Garmin USB中读取GPS数据(串口实现)
  10. android l fox x86,【原创】X61T笔触(无手触)安卓(X86)系统真正完美
  11. 汇编语言、寄存器分类及程序计数器
  12. Ralink SDK相关指令总结
  13. 【CentOS7】启动 CentOS7 系统时卡在开机界面 7 解决办法
  14. 一款非常nice的国产U盘启动制作工具——Ventoy
  15. Reactive 简介
  16. 英雄杀小程序微信区分服务器吗,小程序英雄杀挑战模式怎么玩
  17. 制造企业信息化时代——SaaS系统下沉,移动端上升
  18. 卫星位置、速度、加速度、加加速度计算公式推导
  19. [电影胶片LR预设]古巴风格墨绿胶片电影色调Lightroom预设 KIIN Faded Greens Film Camera Lightroom Preset
  20. 域文件服务器可不可以多个,多个域控服务器的搭建

热门文章

  1. BAT脚本--一键打开多个应用/微信多开
  2. 【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结
  3. 200823 字节数分笔经+准备
  4. 如何用Python实现照片马赛克效果?
  5. 【js】斜率:知道两点坐标,求两点间运动每秒途径坐标
  6. 掌阅漫画导航栏(可滑动,可下拉)
  7. DNF可以在Linux系统运行吗,系统安装-009 Linux下dnf使用
  8. ps如何填充自定义图案
  9. Groovy笔记-Grails g标签之g:message,g:if,g:else,g:select实例一枚
  10. android+checkbox全选多选反选取消选择