今天看文章的時候無意中看到了
HTTP
Authentication
這個我以前也遇到過一點點,這個就是瀏覽器會自動跳出個登錄框出來讓登錄啊,不用寫任何的代碼的,我記得mysqladmin
好像就是用的這種認證方式,今天看了感覺我這個不瞭解嗎,看來很有必要要好好的瞭解一下了。
上網查詢了發現
這個認證的方式有分爲兩種情況的
Basic 和Digest
今天我就先了解了最簡單的basic的吧,這個在php中實現如下
首先要讓瀏覽器彈出登錄框
header('HTTP/1.1
401 Unauthorized');
header('WWW-Authenticate: Basic realm="提示文字"');
這
個瀏覽器就能顯示登錄框的。
用戶輸入了用戶名密碼後 在請求的http頭中加入了 authenticate 值爲 用戶名加:加密碼
然後base64一下
後端的php可以通過檢查 $_SERVER['PHP_AUTH_USER'] 檢查是否存在
authenticate
用戶名可以通過 $_SERVER['PHP_AUTH_USER'] 取得
密碼通過
$_SERVER['PHP_AUTH_PW'] 取得
這樣你就可以通過檢查用戶名 密碼來判定輸入的值是否正確
不過這個保存用
戶名密碼的方式不安全的,很容易被網絡劫持,然後還原的 php中就有這樣的函數 base64_decode 就能把 base64
的編碼還原爲原來的字符串
Digest 方式應該安全點,我沒有仔細的看,等我看完了再介紹給大家吧
http 認證
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.