08.确认访问用户身份的认证
思维导图
思维导图来自: 霸天的前端笔记
HTTP 使用的认证方式
-
BASIC 认证(基本认证)
-
DIGEST 认证(摘要认证)
-
SSL 客户端认证
-
FormBase 认证(基于表单认证)
BASIC 认证
-
HTTP/1.0 就存在的认证方式
-
Base64编码:
xiaoming:1234567
经过 Base64 编码,变成Z3Vlc3Q6Z3Vlc3Q=
Base64 可以反编译,不是加密手段,是明文传输
-
认证步骤
DIGEST 认证
使用质询 / 响应的方式,BASIC是直接发送密码,DIGEST是发送题目(质询)-生成答案(响应)
-
认证步骤
-
认证等级比BASIC高,但是安全性不高,使用不便,也不是主流
SSL 客户端认证
使用HTTPS 的 SSL客户端认证,需要在客户端安装证书(要付费),一般是银行等安全性比较高的机构使用
基于表单认证(常用)
-
没有共同标准规范
-
一般配合 Session 和 Cookie 管理用户认证状态
-
注意:
为了避免 跨站脚本攻击(XSS),Cookie 内加上
httponly
属性,不允许 JavaScript 读取。网站不直接保存密码,使用 密码+salt(盐) 生成的散列值作为验证的依据。
参考资源
-
思维导图参考: 霸天的前端笔记
Github 仓库有Xmind:Awsome-Front-End-Xmind
-
原书参考:《图解HTTP》和 《HTTP权威指南》