客户端识别与Cookie机制

承载用户相关信息的HTTP首部

  • From Email地址
  • User-Agent 浏览器软件
  • Referer 跳转链接<来自>
  • Author ziation 用户名、密码
  • Client-IP IP地址
  • X-Forwarded-For IP地址
  • Cookie 服务器产生的ID标签

Cookie类型:

临时cookie 记录了用户访问站点时的设置和偏好,用户退出浏览器时,回话cookie就被删除了。持久cookie 生存时间更长一些,它们存储在硬盘上,浏览器退出,计算机重启时它们仍然存在。不同的浏览器会以不同的方式 存储cookie,网景的 Navigator 会将cookie存储在一个名为 cookie.txt 的文本文件中,例:

domain allh path secure expires name value
www.example.com FALSE / FALSE 1136109078 cc /us/
www.example2.com FALSE / FALSE 1136109078 cc /us/

文本文件中的每一行都代表一个cookie

  • domain : cookie的域;
  • allh : 是域中的所有主机都获取cookie,还是只有指定了名字的主机获取;
  • path : 域中与cookie相关的路径前缀
  • secure : 是否只有在使用SSL连接时蔡发松这个cookie
  • expires : 过期秒数
  • name : cookie名字
  • value : cookie值

基本认证机制:

HTTP通过一组可定制的控制首部,为不同的认证协议提供了一个可扩展框架。认证的四个步骤:

  1. 请求: 没有认证消息;
  2. 质询: 服务器用401状态拒绝了请求,说明需要用户提供用户名和密码;
  3. 授权: 客户端重新发出请求 <附加一个 Authorization首部> 用来说明认证算法、用户名和密码;
  4. 成功: 如果授权证书是正确的,服务器返回相关资源和一个正常的状态码,对高级认证算法来说,可能还会在Authorization-Info首部附加一些额外信息;

基本认证存在以下安全缺陷:

  1. 基本认证会通过网络发送用户名和密码。这些用户名和密码都是以一种很容易的解码形式存的的;
  2. 即使密码是以更难解码的方式加密的,第三方用户仍然可以捕获被修改过的用户名和密码;
  3. 用户没有良好的安全意识;
  4. 基本认证没有提供任何针对代理和作为中间人的中间节点的防护措施;
  5. 假冒服务器很容易骗过基本验证;

摘要认证:

摘要认证 是另一种HTTP认证协议。它试图修复基本认证协议的严重缺陷,进行了如下改进:

  1. 永远不会以明文方式在网络上发送密码;
  2. 可以防止恶意用户捕获并重置认证的握手过程;
  3. 可以有选择地方式对报文内容的篡改;
  4. 防范几种常见的攻击方式;

摘要认证 并不是最安全的协议,但比基本认证要强大很多。传输层安全(Transport Layer Security : TLS)和安全HTTP(HTTPS)协议更安全一些。

摘要认证的握手机制:

  1. 服务器会计算出一个随机数;
  2. 服务器将这个随机数放在www - Authentiocate质询报文中,与服务器所支持的算法列表一同发往客户端;
  3. 客户端选择一个算法,计算出密码和其他数据的摘要;
  4. 将摘要放在一条Authorization报文中发回服务器,如果客户端认证服务器,可以发送客户端随机数;
  5. 服务器接受摘要,选中的算法以及支撑数据,计算出与客户端相同的摘要;

### 图灵图书 -- HTTP权威指南

豆瓣读书 -- HTTP权威指南

《HTTP权威指南》– 9.识别和认证的更多相关文章

  1. 《http权威指南》读书笔记10

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  2. HTTP权威指南-学习笔记

    目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...

  3. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  4. Netty权威指南

    Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-233 ...

  5. 《JavaScript权威指南 第六版 中文版》(一)

    <JavaScript权威指南 第六版 中文版> 第二章 词法结构 2.1字符集 JavaScript是使用Unicode字符集编码写的. 2.1.1区分大小写 JavaScript是区分 ...

  6. 《http权威指南》读书笔记14

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  7. 《http权威指南》读书笔记13

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  8. 《http权威指南》读书笔记12

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  9. 《http权威指南》读书笔记11

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  10. 《http权威指南》读书笔记4

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

随机推荐

  1. Elasticsearch集群黄色原因的终极探秘

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484125&idx=1&sn=18274d6 ...

  2. MySQL集群搭建(1)-主备搭建

    数据库在任何业务中都是最重要的环节之一,这就对数据库架构提出的较高的要求.单点数据库永远不应该出现在生产环境,我们已经目睹过太多由于单点.备份缺失造成的损失,所以,搭建高可用 MySQL 集群是非常有 ...

  3. 延申三大问题中的第三个问题处理---发布更新时先把服务从注册中心给down下来,等待一段时间后再能更新模块

    一开始采取的思路大致如下: 在preStop中使用/bin/sh命令,先down 然后sleep一段时间, 这种思路的执行情况如下: 假若升级容器使用的镜像版本的话,先执行preStop中的命令,sl ...

  4. 如何调试 Docker

    开启 Debug 模式 在 dockerd 配置文件 daemon.json(默认位于 /etc/docker/)中添加 { "debug": true } 重启守护进程. $ s ...

  5. 关于HM NISEDIT在新版系统下编译并运行提示权限不足问题的解决方案

    如果你使用过NSIS为你的项目制作过安装包,那HM nisedit一定是你绕不过去的槛,作为NSIS号称的最佳免费IDE/编辑器,功能齐全,与NSIS配合性能强悍,实至名归.只是开发作者最后版本更新在 ...

  6. 网络安全(一)主动进攻之DNS基础和ettercap实现DNS流量劫持

    alittlemc,个人原创,个人理解和观点.若有错误.不理解请与我联系,谢谢! 介绍了DNS的解析过程. DNS劫持的思路和实践. DNS 域名 以为live.bilibili.com为例子,从后到 ...

  7. 【第1篇】人工智能(AI)语音测试原理和实践---宣传

    ​前言 本文主要介绍作者关于人工智能(AI)语音测试的各方面知识点和实战技术. 本书共分为9章,第1.2章详细介绍人工智能(AI)语音测试各种知识点和人工智能(AI)语音交互原理:第3.4章介绍人工智 ...

  8. 11.-ORM-基本操作-创建数据

    一.ORM-操作 基本操作包括增删改查,即(CRUD)操作 CRUD是指在做计算处理时增加(create).读取查询(read).更新(update).删除(delete) ORM CRUD 核心 - ...

  9. DQL语句排序与分组

    DQL语句排序与分组 一.DQL-排序 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列.分内部排序和外部排序,若整个 ...

  10. DelCrLfSpace V0.9

    开发界面 Option Explicit 'SourceTextBox 是上面的源框 'ResultTextBox 是下面的处理预览框 'Form KeyPreview = True Private ...