学习课程名称:六大场景 梳理开发痛点 解锁前端进阶路
章节名称:通用Nodejs后台打通全栈第一脉
讲师姓名:Brian
课程内容:
- API接口安全相关知识
- Nodejs写接口
- Request属性,路由基础用法,app.use链式处理
- Koa开发热加载,ES6语法支持
- JWT鉴权方式
- 动态路由加载
登录鉴权
鉴权(基础鉴权、session/cookie、JWT、Oauth……)
算法/加密 (Base64、MD5/SHA-1、DES/AES、RSA/ECC……)
HTTPS (SSL、HTTP劫持、数据篡改、敏感信息、中间人)
session/cookie
优点:
较易扩展
简单
缺点:
安全性低
性能低,服务端存储
多服务器同步session困难
跨凭条困难
JWT
JWT的全称是JSON Web Token,一个JWT由三部分构成:Header,Payload,Signature
JWT特点:防CSRF(主要是伪造请求,带上Cookie)
优点:
易扩展
支持移动设备
跨应用调用
安全
承载信息丰富
缺点:
刷新与过期处理
payload不易过大
中间人攻击
Oauth
优点:
开放、安全、简单、权限指定
缺点:
需要增加授权服务器
增加网络请求
算法/加密
加密分为对称和非对称
数据加密的基本过程,就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常成为“密文”。通过这样的途径,来达到保护数据不被非法人窃取,阅读的目的。
安全传输协议HTTPS
HTTPS超文本传输安全协议,常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。
API安全设计
通信信道加密:使用HTTPS
通信数据加密:密文+加密关键数据
通信安全策略:授权中间层、尝试次数、过期策略……
什么是Koa?
Koa是一个新的web框架,致力于成为web应用和API开发领域中的一个更小、更富有表现力、更健壮的基石。
利用async函数丢弃了传统的回调函数,并增强错误处理。Koa没有任何预置的中间件,可快速而愉快的编写服务端应用程序。
Node.js 有很高的效率,就是因为异步,非阻塞(使用同步的写法,去执行的异步函数)
Koa 核心概念
Koa Application (应用程序)
Context (上下文)
Request(请求)、Response(响应)