HTTP認證之基本認證——Basic(一)

xiaoxiaotank發表於2019-06-12

一、概述

Basic認證是一種較為簡單的HTTP認證方式,客戶端通過明文(Base64編碼格式)傳輸使用者名稱和密碼到服務端進行認證,通常需要配合HTTPS來保證資訊傳輸的安全。

image

二、剖析

1.當開啟需要認證的頁面時,會彈出一個對話方塊,要求輸入使用者名稱和密碼

image

2.使用Fiddler監聽請求,可以看到在未進行認證或認證失敗的情況下,服務端會返回401 Unauthorized給客戶端,並附帶Challenge(質詢),即在Response Header中新增WWW-Authenticate標頭,瀏覽器識別到Basic後彈出對話方塊

HTTP認證之基本認證——Basic(一)

3.輸入正確的使用者名稱和密碼,認證成功後,瀏覽器會將憑據資訊快取起來,那麼以後再進入時,無需重複手動輸入使用者名稱和密碼。
檢視HTTP請求,可以看到Request Header中新增了Authorization標頭,格式為:Authorization: <type> <credentials>

  • 型別為“Basic”
  • 憑證為“MTIzOjEyMw==”,是通過將“使用者名稱:密碼”格式的字串經過的Base64編碼得到的。而Base64不屬於加密範疇,可以被逆向解碼,等同於明文,因此Basic傳輸認證資訊是不安全的

HTTP認證之基本認證——Basic(一)

相關文章