第8章 确认访问用户身份的验证
2017-04-17 15:43
323 查看
HTTP使用的认证方式
-
-
-
-
基本认证是从
1、当请求的资源需要进行
2、客户端为了通过
3、服务端验证通过则返回200状态码及请求的资源,若失败则继续返回401。
一般浏览器无法执行注销操作。
1、客户端请求。
2、服务端返回401状态码、
3、客户端根据质询码计算出响应码(response)。客户端发出的信息如下:
realm:服务端传回的质询码中的。
nonce:服务端传回的质询码中的。
username: realm限定范围内可进行认证的用户编号。ID
uri:访问的资源。
response:由质询码计算出的用于登陆的响应。
4、服务端认证通过返回客户端请求的资源,若失败则返回401。
1、SSL认证过程。
客户端发送请求。
服务端将公钥发送给客户端
客户端验证证书,符合要求则将自己的公钥发送给服务端
服务端验证证书,若符合要求则开始HTTP加密通信。
2、SSL客户端采用双因素认证
双因素不仅需要账号密码,还需要申请认证者其他认证信息。
证书
表单
3、SSL客户端证书需要一定费用
客户端把用户名密码等登陆信息发送至服务器。
服务端会发放用以识别用户信息的
Session ID应用难以揣测的字符串,服务端也应该将
为了减少跨站脚本攻击(
客户端接收到服务端返回的
-
BASIC认证(基本认证)
-
DIGEST认证 (摘要认证)
-
SSL客户端认证
-
FormBase认证 (基于表单认证)
BASIC
认证
基本认证是从HTTP/1.0就存在的认证方式
1、当请求的资源需要进行
BASIC认证时,服务端会随401状态码返回带
WWW-Authenticate头部字段的报文。该头部字段内含认证方式(
BASIC)和Request-uri安全域字符串(
realm)
2、客户端为了通过
BASIC认证需要将用户账号密码发送到服务器。以 (账号:密码)的形式经过BASE6编码写入
Authorization字段发送请求。
3、服务端验证通过则返回200状态码及请求的资源,若失败则继续返回401。
BASIC认证虽然将账号密码经过
BASE64编码但是没有任何加密,一旦被窃听风险极高。
一般浏览器无法执行注销操作。
DIGEST
认证
1、客户端请求。2、服务端返回401状态码、
WWW-Authenticate字段中包含realm(认证方式),nonce(随机数)。
3、客户端根据质询码计算出响应码(response)。客户端发出的信息如下:
realm:服务端传回的质询码中的。
nonce:服务端传回的质询码中的。
username: realm限定范围内可进行认证的用户编号。ID
uri:访问的资源。
response:由质询码计算出的用于登陆的响应。
4、服务端认证通过返回客户端请求的资源,若失败则返回401。
SSL
认证
1、SSL认证过程。客户端发送请求。
服务端将公钥发送给客户端
客户端验证证书,符合要求则将自己的公钥发送给服务端
服务端验证证书,若符合要求则开始HTTP加密通信。
2、SSL客户端采用双因素认证
双因素不仅需要账号密码,还需要申请认证者其他认证信息。
证书
表单
3、SSL客户端证书需要一定费用
FormBase
认证(表单认证 )
Session管理及
Cookie应用
客户端把用户名密码等登陆信息发送至服务器。
服务端会发放用以识别用户信息的
Session ID。通过验证从客户端发来的登陆信息进行用户验证,将
Session ID在服务端与用户认证状态一起保存起来。因此
Session ID会是认证凭证,如果
Session ID被盗走,那么就可以伪装成你的身份。
Session ID应用难以揣测的字符串,服务端也应该将
Session ID设置安全期限
为了减少跨站脚本攻击(
xss)带来的危害,应在
Cookie字段内加入
httponly属性。
客户端接收到服务端返回的
Session ID之后将之缓存在本地,下次请求时浏览器会自动发送
Cookie,因此
Session ID也会被自动发送
相关文章推荐
- 《图解HTTP》读书笔记(8)第8章确认访问用户身份的认证(关键词:HTTP/)
- 图解HTTP学习笔记——确认访问用户身份的认证
- 图解HTTP笔记之第八章:确认访问用户身份的认证
- AngularJS中实现用户访问的身份认证和表单验证功能
- 确保web安全的https、确认访问用户身份的认证(第七章、第八章)
- 使用“成员资格管理用户”以及“Forms 身份验证提供程序”保护需要授权才能访问的资源
- 图解HTTP读书笔记-(八 确认访问用户身份的认证)
- AngularJS中实现用户访问的身份认证和表单验证功能
- 用Windows身份验证访问数据库时,出现“用户 'YSBY-PC\ASPNET' 登录失败。”,这YSBY是我的计算机名。
- 在Flash中调用WS时的身份验证_6:ws调用的用户验证和授权访问
- 图解HTTP第八章:确认访问用户身份的认证
- 利用SQLSERVER存储过程实现ASP用户身份验证
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- 分别用(Windows/Form/Soap/WebService)实现用户身份验证(含示例代码下载)
- 用WSE在Web服务中验证用户身份(2)
- 用WSE在Web服务中验证用户身份(1)
- 基本用户身份验证
- 开启SQL2005使用SQL用户身份验证(SA)
- [转载]用WSE在Web服务中验证用户身份
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)