HTTP学习笔记10 用户身份认证

HTTP用户身份认证《图解HTTP》 计算机本身无法判断坐在显示器前的使用者的身份。 进一步说, 也无法确认网络的那头究竟有谁。 HTTP 使用的认证方式 HTTP/1.1 使用的认证方式如下所示: BASIC 认证(基本认证) DIGEST 认证(摘要认证) SSL 客户端认证 FormBase 认证(基于表单认证) 此外, 还有 Windows 统一认证(Keberos 认证、 NTLM 认证)。 一、BASIC 认证 步骤... 阅读详情

HTTP/1.1认证方式:

  • BASIC认证(基本认证)
  • DIGEST认证(摘要认证)
  • SSL客户端认证
  • FormBase认证(表单认证)

BASIC认证

请求:

GET /private/http/1.1
Host: hack.jp

①服务器返回状态码401 Authorization Required,并带有WWW-Authenticate首部字段

HTTP/1.1 401  Authorization Required
其他字段...
WWW-Authenticate:Basic realm="Input your ID and password"

②用户ID和密码由冒号连接,经Base64编码后,写入首部字段Authorization,发送请求

GET /private/http/1.1
Host: hack.jp
Authorization: Z3Vlc3Q6Z3Vlc3Q=

③服务端接受到请求后,验证用户ID和密码,若通过则返回请求的资源,否则返回401响应

不足:用户ID和密码未加密处理,容易泄露

DIGEST认证

DIGEST认证规避了直接发送明文密码的缺点,采用质询码计算的方式来认证
请求:

GET /digest/http/1.1
Host: hack.jp

①服务器返回状态码401 Authorization Required,并带有WWW-Authenticate首部字段,并包含临时的质询码(随机数,nonce)

HTTP/1.1 401  Authorization Required
其他字段...
WWW-Authenticate:Digest realm="DIGEST",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/digest/", algorithm=MD5, qop="auth"

②客户端返回的响应中的首部字段Authorization必须包含username,realm,nonce,uri,response
其中username为realm限定范围内的用户名
realm和nonce为从服务器接受到的响应中的字段,uri是请求资源的地址
response是使用服务器回复报文中的nonce值,加上username,password, http method, http uri经过MD5运算后的密码字符串

GET /digest/http/1.1
Host: hack.jp
Authorization: Digest username="guest", realm="DIGEST",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/digest/", algorithm=MD5, qop=auth, response="6629fae49393a05397450978507c4ef1",cnonce="0a4f113b", nc=00000001

③服务端接受到请求后,根据username,查找出用户的password,用和客户端同样的方法计算出request-digest(response)。然后和收到的request-digest进行对比,如果一致,则验证成功,接受客户端的请求,成功返回结果。并带有Authentication-Info消息头。客户端根据该消息头中的参数进行服务器鉴权。
**这里写图片描述**

SSL客户端认证

使用SSL客户端认证,首先需要在客户端安装证书

①服务器接收到认证资源的请求后,会返回Certificate Request报文,要求客户端提供证书

②客户端选择要发送的证书后,以Client Certificate报文的方式发送给服务器

③服务器验证客户端证书通过后,获取证书内的公开密钥,开始HTTPS通信

多数情况下SSL客户端认证会和表单认证相结合,构成双因素认证(Two-factor authentication),SSL客户端证书认证计算机,表单密码认证用户本人

表单认证

WEB网站中的认证大多都是表单认证,即将用户名和密码以表单的方式,发送给服务器验证,一般会结合Cookie来管理会话(Session)

①客户端把用户ID和密码等登录信息放入报文的实体部分,通常以POST请求的方式发送给服务器

②服务器会发放用以识别用户的Session ID。通过验证从客户端发送过来的登录信息进行身份认证,将用户的认证状态和Session ID绑定后记录在服务器端。
向客户端发送响应时,会在首部字段Set-Cookie内写入Session ID(为防止XSS攻击,应事先在字段中加入httponly属性,避免Session ID被盗取)

③客户端收到服务端发送的Session ID后,将其保存在本地,下次请求时,浏览器会自动发送带有Session ID的Cookie,服务器通过验证Session ID识别用户和其认证状态

Kali扫描 w3af的使用(一)用户界面和身份认证 Kali——WEB渗透(六) 学习web渗透过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。 —— 扫描:w3af(一)—— 本篇博客主要介绍w3af的用户界面和身份认证方式,w3af提供了4种身份认证方法和截断代理这一功能。安装w3af的具体教程点击安装教程即可。 一.界面与使用 命令行界面与图形化界面相互对应,功能完全相同。 help:在命令行界面无论位于哪一... 阅读详情

相关推荐

基于NXP BFU730F的宽带WiFi LNA设计:从原理到实测的完整指南

低噪声放大器(LNA)是无线通信接收链路中的关键器件,其性能直接决定了系统的接收灵敏度。LNA的核心原理是在放大微弱信号的同时,尽可能降低自身引入的噪声,并保持良好的线性度以应对强干扰。在宽带应用场景下,如覆盖2.4GHz至5.9GHz的现代WiFi系统,设计需在宽带匹配、噪声优化和增益平坦度之间取得精妙平衡。本文以NXP的BFU730F SiGe:C HBT晶体管为核心,深入解析一种采用电阻反馈和LC匹配网络的经典宽带LNA架构。该设计通过优化反馈网络,在宽达3.5GHz的频带内实现了优异的噪声系数(低至

weixin_33587161的博客 327

《图解HTTP》学习笔记

三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。第一次客户端将标有SYN的数据包发送给服务器,第二次服务器收到后回传一个带SYN/ACK标志的数据报以确认信息,最后客户端再回传一个带ACK的数据包,握手完成;

MissXu666的博客 601

STM32F407 步进电机S形曲线加减速

步进电机

smallerlang的博客 1591

暴力破解网页

输入地址进入页面 http://110.40.154.100:8000  2.在网址后边输入authenticate  3.返回用户名admin之后,进入登陆页面进行暴力破解  密码破解成功  3.下一步进入登陆界面,输入爆破好的密码即可进入 ...

weixin_67879598的博客 2651

Shopee 虾皮API接口:商品详情采集的实践

随着电商行业的蓬勃发展,数据采集和分析在商业决策中扮演着越来越重要的角色。Shopee作为东南亚领先的电商平台,拥有大量的商品数据。通过Shopee的API接口,我们可以方便地获取商品详情,为数据分析和市场研究提供有力支持。本文将介绍如何使用Shopee API接口采集商品详情,并分享一些实践技巧。提供了丰富的数据接口,包括商品详情、店铺信息、订单数据等。通过API接口,开发者可以轻松地获取Shopee平台上的数据,进行进一步的处理和分析。Shopee API接口:商品详情采集的实践与技巧。

An4480的博客 1887

Oracle数据库的内存管理优化技巧

Oracle数据库作为企业级数据库管理系统,广泛应用于各种业务场景。内存管理是Oracle数据库性能优化的关键环节,合理的内存管理可以显著提高数据库的响应速度和吞吐量。本文的目的是深入探讨Oracle数据库内存管理的优化技巧,涵盖了系统全局区(SGA)和程序全局区(PGA)的管理、内存分配算法、内存参数调整等方面。通过详细的讲解和实际案例分析,帮助读者掌握优化Oracle数据库内存使用的方法,提高数据库的性能和稳定性。

2502_91592937的博客 996

关于wget下载jdk问题解决

问题: 直接从jdk官网下载会出现: 正在解析主机 login.oracle.com (login.oracle.com)... 156.151.58.18正在连接 login.oracle.com (login.oracle.com)|156.151.58.18|:443... 已连接。已发出 HTTP 请求,正在等待回应... 401 Authorization Required 用户名/密...

SpringBoots的博客 635

VM与欧姆龙PLC通讯设置:Fins TCP/UDP协议实战避坑指南

本文详细解析了VM视觉平台与欧姆龙PLC通过Fins TCP/UDP协议进行通讯的实战配置与避坑要点。文章对比了Fins TCP与Fins UDP的差异,推荐在多数工业控制场景下优先选用Fins TCP以保证可靠性,并深入讲解了网络设置、寄存器地址映射、轮询优化等核心配置步骤。同时,针对常见的多次触发拍照、数据解析错误等问题提供了具体的解决方案和调试技巧,旨在帮助工程师快速建立稳定高效的通讯连接。

e4f5g6h7的博客 596

【计算机网络】HTTP协议详解(五):几种基本认证

基本认证 由于有时服务器需要控制访问者的权限,因此需要对访问者进行身份认证 文章目录基本认证一、BASIC认证(基本认证)二、DIGEST(摘要认证)三、SSL客户端认证四、FormBase认证(基于表单认证) 一、BASIC认证(基本认证) 过程:当客户端访问的请求需要认证,则服务器会返回状态码401(Authorization Required),告知客户端需要认证————>客服端用户按要求输入用户名密码,以“用户名:密码”这样的格式,如:username:password,浏览器再将“用户名

戴陵FL的博客 863

初探802.11协议(6)——Wi-Fi 6新特性简介

Wi-Fi 6新机制(特性)介绍

FanFF的博客 1522

AMDGPU IH(Interrupt Handler)实现分析

AMDGPU IH环形缓冲区机制是显卡驱动中高效处理GPU硬件中断的核心架构。该机制通过环形缓冲区存储中断事件,利用读写指针(wptr/rptr)同步硬件与驱动间的数据交互。硬件写入事件后驱动遍历处理,通过指针掩码实现环形循环,并具备溢出检测和虚拟化环境下的重置保护。其优势在于批量处理降低中断开销,指针同步确保可靠性,支持多队列扩展和SR-IOV虚拟化场景,为GPU中断管理提供了高性能基础架构。

图形/计算GPU的驱动与虚拟化技术分享园地 1639

CTFHUB WEB HTTP协议(下)

先了解一下基础认证http协议支持两种认证方式:基本认证和摘要认证。1.:服务器,请把/family/son.jpg 图片传给我。2.:客户端你好,这个资源在安全区里,是受限资源,需要基本认证,请带上你的用户名和密码再来服务器会返回401,告知客户端这个资源需要使用基本认证的方式访问,我们可以看到在这个Header里面 有两个值,Basic:说明需要基本认证,realm:说明客户端需要输入这个安全区的用户名和密码,而不是其他区的。因为服务器可以为不同的安全区设置不同的用户名和密码。

wwwwyyyrre的博客 349

YOLOv11改进策略【卷积层】| ICCV-2023 引入Dynamic Snake Convolution动态蛇形卷积,改进C3k2

基于拓扑几何约束的动态蛇卷积用于管状结构分割DSConv(Dynamic Snake Convolution,动态蛇形卷积)模块的设计主要是为了更好地处理管状结构的分割任务,解决传统卷积在处理细管状结构时的不足。

Limiiiing的博客 1629

HTTP协议之身份认证

HTTP协议之身份认证 需要弄清到底是谁在访问服务器,确认是否有访问的权限 身份认证信息 密码 动态令牌(仅限本人持有的设备内显示的一次性密码) 数字证书 生物认证(指纹,虹膜) IC卡等 常见认证方式 ◆BASIC认证(基本认证) ◆DIGEST 认证(摘要认证) ◆SSL 客户端认证 ◆FormBase 认证(基于表单认证) ◆BASIC认证(基本认证) 这不是加密处理,不需要任何附加信息就可...

sunshine612的博客 1803

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HTTP API 身份认证

互联网系统通常需要根据用户身份决定是否有资源的访问权限,这就需要对用户进行身份认证(),验证用户所声称的身份。验证手段通常是验证只有用户知道或拥有的东西,比如密码、手机号、指纹等。

yewq 905

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

用户身份认证机制概述

在当今数字化高度发展的时代,网络应用和服务日益普及,用户数据的安全性与隐私保护成为首要关注点。身份认证作为信息安全的基石,负责确认用户或系统实体的身份,从而决定其访问权限和操作范围。无论是Web应用、移动应用,还是各类API接口,合理有效的身份认证机制都是保障系统安全、预防未授权访问和数据泄露的关键。随着互联网技术的不断演进,传统的身份认证方式逐渐暴露出安全性不足、扩展性差等问题,迫使开发者和安全专家不断探索更为先进和灵活的认证方案。从最早期的基本认证(Basic Authentication)到如今广泛应

hello.reader 2135

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

N2 HTTP协议用户身份认证学习笔记

HTTP1.1使用的认证方式: 1.BASIC 认证(基本认证) 2.DIGEST 认证(摘要认证) 3.SSL 客户端认证 4.FormBase 认证(基于表单认证) 1.1 BASIC认证原理 使用HTTP协议通信时,针对身份认证环节,HTTP协议定义了基本认证过程,允许HTTP服务器对WEB浏览器进行用户身份认证。客户端向HTTP服务器发出请求时,如客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。客户端在接收到HTTP服务器的身份认证要求后,会提示

尐猴子君ii的博客 641

HTTP身份认证

某些Web页面只想让特定的人浏览,或者仅本人可见,未达到这个目标,必不可少的就是认证功能。 HTTP/1.1使用的认证方式: BASIC认证(基本认证) DIGEST认证(摘要认证) SSL客户端认证 FormBase认证(基于表单认证)

xiangxiongfly 586

用户或计算机身份验证,HTTP基本身份认证

原标题:HTTP基本身份认证HTTP请求报头: AuthorizationHTTP响应报头: WWW-AuthenticateHTTP认证是基于质询/回应(challenge/response)的认证模式基本认证basic authentication(HTTP1.0提出的认证方法)基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。把 "用...

weixin_36212959的博客 1031

Nginx 基本身份认证模块 ngx_http_auth_basic_module

  ngx_http_auth_basic_module允许通过使用"HTTP基本身份认证"协议验证用户名和密码来限制对资源的访问。坦白点来说,如果想对某目录设置访问权限,可以使用ngx_http_auth_basic_module提供的功能。   基本身份认证模块 语法及语义   auth_basic    语法:auth_basic string | off;    语义:使用"HTTP基本身份认证"协议启用用户名和密码的验证。指定的参数用作realm,参数值可以包含变量(1.3.10、1.2.7)。设

键盘上流淌的日子 1862

五、大话HTTP协议-HTTP之URL编码、身份认证问题

在说明URL编码之前,先回顾编码和字符集的相关基础知识,再引出为什么URL中需要做编码,以及如何编码的。最后顺便介绍了下HTTP的身份认证问题。这些知识可谓是基础中的基础,重点中的重点了,不仅HTTP,在任何地方都会遇到此类问题。希望我们自己都能把基础夯实好,发车!

蜗牛爬啊爬 2565

HTTP用户身份认证

声明:本人的所有博客皆为个人笔记,作为个人知识索引使用,因此在叙述上存在逻辑不通顺、跨度大等问题,希望理解。分享出来仅供大家学习翻阅,若有错误希望指出,感谢! 用户身份认证 HTTP使用的认证方式: BASIC认证(基本认证) DIGEST认证(摘要认证) SSL客户端认证 FormBase认证(基于表单认证) BASIC认证 BASIC认证是从HTTP/1.0就存在的认证方式,至今仍有一部分网站会使用这种认证方式 BASIC认证流程 当请求的资源需要 BASIC认证时,服务器会随状态码401Au

hizyk的博客 434

python http 身份认证简介

目录 授权方式简介 1. Basic Authentication 2. OAuth 3. Token Authentication 4. Digest Authentication(重点说一下) 代码实现 1. 基本身份认证 2. 摘要式身份认证 3. OAuth 1 认证 4. OAuth 2 与 OpenID 连接认证 5. 新的身份认证形式 参考 在编写一个脚本的时候,在接口授权这个地方卡住了,平常做过Basic形式的Authorization,这次用次方式并行不通,用Fi

whatday的专栏 2666

PHP中用户身份认证实现二法

PHP中用户身份认证实现二法(王锋 2001年04月29日 15:46)用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问。通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制。当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面。下面用两种方法来说明其实现原理。 一、用HTTP标头来实现

wildcatbb的专栏 1251

Redis的应用の使用SpringSession实现WebSocket的用户身份认证

之前有过两篇博文是有关WebSocket身份认证的 WebSocket的用户身份认证 关于使用浏览器与PostMan测试springSession每次返回的x-auto-token不一致的问题解决 当时是处于一个探索的环节,现在我们将使用SpringSession、Redis,通过Header认证来实现WebSocket中用户身份的认证。 注意:为了简化文章,我们假设用户已经是通过登录并且获得x...

广工最菜的琛 1398

Cookie与Session 详解:搞懂HTTP 身份认证

HTTP协议的无状态特性催生了Cookie与Session这对"黄金搭档"。Cookie是客户端存储的身份标识(如SessionID),通过请求头自动传递;Session是服务端的用户数据仓库,存储敏感信息。二者协作流程:服务端生成SessionID并写入Cookie→客户端保存Cookie→后续请求自动携带→服务端验证Session。安全性上,Session更优(敏感数据存服务端,客户端仅传无意义ID),但需配合HttpOnly/Secure等Cookie属性防护XSS/CSRF攻击。

2501_91229396的博客 1166
上一篇: HTTP学习笔记9 HTTPS
下一篇: HTTP学习笔记11 基于HTTP的追加协议
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值