第8章 确认访问用户身份的验证
来源:互联网 发布:黑莓q10软件 编辑:程序博客网 时间:2024/06/02 01:44
HTTP使用的认证方式
-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应用难以揣测的字符串,服务端也应该将
客户端接收到服务端返回的
Session ID
之后将之缓存在本地,下次请求时浏览器会自动发送Cookie
,因此Session ID
也会被自动发送
- 第8章 确认访问用户身份的验证
- 《图解HTTP》读书笔记(8)第8章确认访问用户身份的认证(关键词:HTTP/)
- 图解HTTP第八章:确认访问用户身份的认证
- 图解HTTP笔记之第八章:确认访问用户身份的认证
- 【图解HTTP笔记】第八章 确认用户的身份
- 图解HTTP读书笔记-(八 确认访问用户身份的认证)
- paip.提升用户体验---确认用户身份的方法
- JAAS基于用户身份的验证和授权
- 以远程计算机上的用户身份访问Com+应用
- 以远程计算机上的用户身份访问Com+应用
- 进程的用户身份
- 解决用户登录不同服务器,不同服务器验证用户身份的方法。
- 通过LDAP服务器验证用户身份
- 以本地用户身份访问 SQL Server
- (翻译)需求的验证&确认
- LINUX用户身份的识别
- 框架中多个页面验证用户身份,弹出提示信息的一点技巧
- 框架中多个页面验证用户身份,弹出提示信息的一点技巧
- div中的table等居中
- 手机SD卡的检测方法
- NYOJ--27--dfs--水池数目
- day65_activiti
- 数据库设计,页面传值
- 第8章 确认访问用户身份的验证
- List 的removeall需要重写equals才有效
- Android中dp与px之间的转换
- dwz 加入自己验证(比如目的是提交前组织数据)
- Linux下安装JDK
- dwz跳转jsp及相应后台跳转控制的对应配置
- springMvc基于注解的异常处理
- arcgis_js入门示例一
- 程序流程设计