. HTTP Basic

  客戶端以“ : ”連接用戶名和密碼后,再經(jīng)BASE64加密通過Authorization請求頭發(fā)送該密文至服務(wù)端進行驗證,每次請求都需要重復(fù)發(fā)送該密文。可見Basic認證過程簡單,安全性也低,存在泄露個人賬號信息以及其他諸多安全問題。以下僅為原理演示,不代表真實情況:

  1. 客戶端向服務(wù)器請求數(shù)據(jù):

    GET / HTTP/1.1
    Host: www.myrealm.com

  2. 服務(wù)端向客戶端發(fā)送驗證請求401:

    HTTP/1.1 401 Unauthorised
    Server: bfe/1.0.8.18
    WWW-Authenticate: Basic realm="myrealm.com"
    Content-Type: text/html; charset=utf-8

  3. 客戶端收到401返回值后,將自動彈出一個登錄窗口,等待用戶輸入用戶名和密碼

  4. 將“用戶名:密碼”進行BASE64加密后發(fā)送服務(wù)端進行驗證:

    GET / HTTP/1.1
    Host: www.myrealm.com
    Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx

  5. 服務(wù)端取出Authorization請求頭信息進行解密,并與用戶數(shù)據(jù)庫進行對比判斷是否合法,合法將返回200 OK,至于是否發(fā)送Authentication-Info頭部則是可選的

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 1 <?php  2   if (!isset($_SERVER['PHP_AUTH_USER'])) {  3     header('WWW-Authenticate: Basic realm="My Realm"');  4     header('HTTP/1.0 401 Unauthorized');  5     echo&