欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

<-
Apache > HTTP Server > 文檔 > 版本2.2 > 模塊
   致謝 | 譯者聲明 | 本篇譯者:金步國 | 本篇譯稿最后更新:2006年1月23日 | 獲取最新版本

Apache模塊 mod_auth_digest

說明使用MD5摘要認證(更安全,但是只有最新的瀏覽器才支持)
狀態(tài)實驗(X)
模塊名auth_digest_module
源文件mod_auth_digest.c

概述

這個模塊實現了HTTP摘要認證。由于尚未進行過廣泛的測試,因此標記為試驗模塊。

top

使用摘要認證

使用MD5摘要認證很簡單。簡單的安裝認證模塊后使用"AuthType Digest"和AuthDigestProvider代替普通的"AuthType Basic"和AuthBasicProvider ,再添加一個AuthDigestDomain指令包含至少是需要保護的區(qū)域的根URI。

可以使用htdigest工具來創(chuàng)建和添加(純文本)用戶列表文件。

示例:

<Location /private/>
AuthType Digest
AuthName "private area"
AuthDigestDomain /private/ http://mirror.my.dom/private2/

AuthDigestProvider file
AuthUserFile /web/auth/.digest_pw
Require valid-user
</Location>

注意

摘要認證比基本認證更安全,但是直到2004年9月,只有下列最新版本的主流瀏覽器支持它:Amaya, Konqueror, MS Internet Explorer 6(使用查詢字符串時會失敗,參見"配合 MS Internet Explorer 6 工作"), Mozilla, Netscape 7, Opera, Safari 。而lynx不支持摘要認證。因為摘要認證尚未得到絕大多數瀏覽器的支持,你應當只將它應用在你可以控制用戶瀏覽器版本的場合。

top

配合 MS Internet Explorer 6 工作

Internet Explorer 6 的摘要認證實現有缺陷,也就是GET請求的查詢字符串與RFC規(guī)范并不兼容。有幾個途徑來解決這個問題。

第一個途徑就是使用POST代替GET來向服務器傳送數據。如果你的程序不會受到這種變化的影響,這是最簡單的方法。

從2.0.51版本開始,Apache還在環(huán)境變量AuthDigestEnableQueryStringHack中提供了一個工作區(qū)(workaround)。如果AuthDigestEnableQueryStringHack被打開,Apache將采取措施對付Internet Explorer 6 的bug ,將請求URI從摘要比較中移除。使用這個方法將需要類似如下的配置:

在MSIE6中使用摘要認證

BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On

參見BrowserMatch指令以了解有條件的設置環(huán)境變量的更多細節(jié)。

top

AuthDigestAlgorithm 指令

說明選擇在摘要認證中用于計算請求和應答的散列值的算法
語法AuthDigestAlgorithm MD5|MD5-sess
默認值AuthDigestAlgorithm MD5
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestAlgorithm指令選擇在摘要認證中用于計算請求和應答的散列值的算法。

MD5-sess算法當前尚未實現。
top

AuthDigestDomain 指令

說明在同一保護區(qū)域中需要進行摘要認證的URI
語法AuthDigestDomain URI [URI] ...
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestDomain指令用于指定一個或者多個在同一保護區(qū)域中需要進行摘要認證的URI(也就是使用相同的區(qū)域和用戶名/密碼信息)。這些被指定的URI只是前綴,也就是說客戶端將假定所有位于該URI"之下"的URI亦受到相同用戶名/密碼的保護。這些被指定的URI可以是絕對URI(也就是包含完整的協議、主機、端口等)或者相對URI。

這個指令必須總是被指定為至少包含被保護頁面的根URI。省略這個會導致客戶端為每個請求都發(fā)送授權頭,除了增加請求的字節(jié)大小外,如果AuthDigestNcCheck被設為"On",還會影響服務器的性能。

這里指定的URI可以分別指向不同的服務器,在這種情況下客戶端將會在這些服務器間共享用戶名和密碼信息,并且不會提醒用戶。

top

AuthDigestNcCheck 指令

說明Enables or disables checking of the nonce-count sent by the server
語法AuthDigestNcCheck On|Off
默認值AuthDigestNcCheck Off
作用域server config
狀態(tài)實驗(X)
模塊mod_auth_digest
目前尚未實現。
top

AuthDigestNonceFormat 指令

說明Determines how the nonce is generated
語法AuthDigestNonceFormat format
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest
目前尚未實現。
top

AuthDigestNonceLifetime 指令

說明服務器nonce(當前值)的有效秒數
語法AuthDigestNonceLifetime seconds
默認值AuthDigestNonceLifetime 300
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestNonceLifetime指令控制服務器nonce(當前值)的有效秒數。當客戶端連接服務器時使用了一個過期的nonce(當前值),服務器將返回一個帶有"stale=true"的401錯誤(要求重新認證)。如果seconds小于等于"0",那么nonce(當前值)將永遠不會過期(強烈反對這么做)。一般這個值應當在30到120之間比較合理(最好不要小于10)。

top

AuthDigestProvider 指令

說明設置該區(qū)域的(摘要)認證支持者(Provider)
語法AuthDigestProvider provider-name [provider-name] ...
默認值AuthDigestProvider file
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestProvider指令設置了該區(qū)域的(摘要)認證支持者(Provider)。默認的file支持者由mod_authn_file模塊實現。必須確保所需的認證支持模塊存在于服務器中(靜態(tài)連接或DSO)。

能夠提供認證支持者(Provider)的模塊如下:mod_authn_dbmmod_authn_file 。

top

AuthDigestQop 指令

說明指定摘要認證的保護質量
語法AuthDigestQop none|auth|auth-int [auth|auth-int]
默認值AuthDigestQop auth
作用域directory, .htaccess
覆蓋項AuthConfig
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestQop指令用于指定使用那個級別的保護質量(quality-of-protection)auth將只進行認證(用戶名/密碼);auth-int除了認證以外還進行完整性校驗(實體的MD5值將被計算和檢查);none將使用舊的RFC-2069摘要算法(不包含完整性檢查);authauth-int可以同時指定,在這種情況下,瀏覽器將會自己選擇使用哪種一種。none不推薦使用。

auth-int目前尚未支持。
top

AuthDigestShmemSize 指令

說明為了跟蹤客戶端而分配的共享內存字節(jié)數
語法AuthDigestShmemSize size
默認值AuthDigestShmemSize 1000
作用域server config
狀態(tài)實驗(X)
模塊mod_auth_digest

AuthDigestShmemSize指令指定了服務器啟動時為了跟蹤客戶端而分配的共享內存字節(jié)數。注意,這個共享內存段不能設置為小于只跟蹤一個客戶端所需要的最小內存數量,這個最小數量取決于你的系統(tǒng)。如果你想知道這個最小值,你只要將AuthDigestShmemSize設為"0",然后讀取重啟Apache時返回的錯誤信息即可。

size通常按照字節(jié)計算,但是可以通過加上后綴"K"或"M"來按照KB或MB計算。比如,以下寫法都是一樣的:

AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
AuthDigestShmemSize 1M