鍍金池/ 問答/Linux/ apache認證的問題

apache認證的問題

我的apache配置了 basic auth.
假定我的ip地址是 111.111.111.111

/var/www/html/remote.html
<p>it is a test</p>

curl -u xxxx:xxxx -I http://111.111.111.111/remote...
獲得這樣的輸出

HTTP/1.1 200 OK
Date: Fri, 07 Sep 2018 03:26:06 GMT
Server: Apache/2.4.6 (CentOS)
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With
Last-Modified: Fri, 07 Sep 2018 03:22:41 GMT
ETag: "b2-5753f8537e26c"
Accept-Ranges: bytes
Content-Length: 178
Content-Type: text/html; charset=UTF-8

為何在瀏覽器中輸入http://111.111.111.111/remote...
不能直接顯示remote.html
它會調(diào)出認證窗口?

圖片描述

回答
編輯回答
風(fēng)畔

因為你沒有傳密碼啊, curl -u參數(shù)后的xxx:xxx是用戶名和密碼. 如果你直接把用戶名和密碼傳過去也可以直接進入頁面的.

你可以這樣在瀏覽器里輸入

http://xxx:xxx@111.111.111.111/remote.html

這種方式瀏覽器會把用戶名和密碼轉(zhuǎn)成 HTTP頭: Authorization, 雖然經(jīng)過變換,但仍算是明文傳輸,是不安全的, 這也是為啥稱其這Basic的原因.

2017年2月24日 11:45