图解HTTP读书笔记-(八 确认访问用户身份的认证)
来源:互联网 发布:九鼎软件 编辑:程序博客网 时间:2024/05/22 03:07
八 确认访问用户身份的认证
8.1 HTTP认证方式:
认证就是为了识别用户身份。常用认证方式如下:
Basic认证
Digest认证
SSL客户端认证
Formbase认证
8.2 basic 认证:
把用户名,密码以Base64编码,安全性不高。
8.3 digest认证:
HTTP1.1推出,它主要是为了解决Basic模式安全问题,Digest认证也是采用challenge/response认证模式,基本的认证流程比较类似,整个过程如下:
①浏览器发送http报文请求一个受保护的资源。
②服务端的web容器将http响应报文的响应码设为401,响应头部比Basic模式复杂,WWW-Authenticate: Digest realm=”myTomcat”,qop="auth",nonce="xxxxxxxxxxx",opaque="xxxxxxxx" 。其中qop的auth表示鉴别方式;nonce是随机字符串;opaque服务端指定的值,客户端需要原值返回。
③浏览器弹出对话框让用户输入用户名和密码,浏览器对用户名、密码、nonce值、HTTP请求方法、被请求资源URI等组合后进行MD5运算,把计算得到的摘要信息发送给服务端。请求头部类似如下,Authorization: Digest username="xxxxx",realm="myTomcat",qop="auth",nonce="xxxxx",uri="xxxx",cnonce="xxxxxx",nc=00000001,response="xxxxxxxxx",opaque="xxxxxxxxx" 。其中username是用户名;cnonce是客户端生成的随机字符串;nc是运行认证的次数;response就是最终计算得到的摘要。
④服务端web容器获取HTTP报文头部相关认证信息,从中获取到username,根据username获取对应的密码,同样对用户名、密码、nonce值、HTTP请求方法、被请求资源URI等组合进行MD5运算,计算结果和response进行比较,如果匹配则认证成功并返回相关资源,否则再执行②,重新进行认证。
⑤以后每次访问都要带上认证头部。
Digest模式避免了密码在网络上明文传输,提高了安全性,但它仍然存在缺点,例如认证报文被攻击者拦截到攻击者可以获取到资源。
8.4 SSL客户端认证:
看了下原书的介绍,理解为HTTPS的双向认证的一部分。单向认证是只认证服务端,双向认证还要认证客户端。
一般采用双认证机制,客户端认证客户端计算机,密码认证是认证用户本人。
8.5 基于表单的认证:
最常见的办法。
Session管理和cookie应用
鉴于HTTP的无状态协议,我们使用cookie来管理session。
后面两章相对独立,分别介绍了http2.0协议,web前段技术,网站安全问题,相对独立暂不展开。
- 图解HTTP读书笔记-(八 确认访问用户身份的认证)
- 《图解HTTP》读书笔记(8)第8章确认访问用户身份的认证(关键词:HTTP/)
- 图解HTTP第八章:确认访问用户身份的认证
- 图解HTTP笔记之第八章:确认访问用户身份的认证
- 【图解HTTP笔记】第八章 确认用户的身份
- 图解HTTP读书笔记(八)
- 第8章 确认访问用户身份的验证
- PHP的HTTP身份认证
- 基于spring security的简易用户身份认证(数据库)
- paip.提升用户体验---确认用户身份的方法
- 在.NET下如何用WebService实现身份认证,及如何跟踪用户的访问[链接]
- 多服务器的用户身份认证方案
- 多服务器的用户身份认证方案
- 27.2 基于数字证书的用户身份认证
- 多服务器的用户身份认证方案
- 基于FormsAuthentication的用户、角色身份认证
- 基于FormsAuthentication的用户、角色身份认证
- 基于FormsAuthentication的用户、角色身份认证
- An internal error occurred during: "Building workspace". PermGen space
- 和属性相关的方法
- vimscrip学习——跳转和移动
- 剑指offer:正则表达式匹配
- linux umask使用详解
- 图解HTTP读书笔记-(八 确认访问用户身份的认证)
- 【金山云】机器学习算法工程师2017年8月29号电话一面(内推)
- 阻止默认行为:比如a链接的跳转。阻止冒泡:子元素的事件触发到了父元素身上
- 从ftp下载指定文件到指定的目录
- 【python 图像切割】matplotlib读取图像,裁剪图像
- unbantu的ipv6解决方案
- 在图像中寻找轮廓
- 使用 hdfs dfs -put 报错 org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /test/a.txt._C
- Android---RecyclerView简单实用(上)