2012-11-08 144 views
0

我正在嘗試使用Perl創建一個簡單的CGI網站,該網站創建一個鏈接到Java小程序的HTML頁面。我設法設置了這一點,但由於某種原因,該網站的Apache認證正在做一些不可思議的事情。也就是說,如果輸入的密碼不正確,而不是重定向到403頁面(我認爲它應該),它只是刷新頁面 - 再次提示密碼提示。我的htaccess文件如下所示:Apache身份驗證刷新

AuthUserFile PATH/TO/HTPASSWD 
AuthGroupFile /dev/null 
AuthName NAME 
AuthType Basic 
require user USER1 

它位於Java applets目錄(不同於CGI目錄)。我一直在尋找爲什麼出現這個問題,但我似乎無法找到頁面刷新的原因。有人知道,如果Perl CGI程序試圖訪問小程序文件夾中的.htaccess applet,這種行爲是否是典型的?事先感謝。

+2

它是「Perl」,而不是「PERL」。 – ikegami

回答

1

它返回更合適的401未授權錯誤。響應包括身份驗證方法(基本)。瀏覽器通過顯示登錄提示來響應。 (我相信經過幾次嘗試,瀏覽器會給你一個401錯誤頁面。)

這是合適的行爲。你想讓用戶有機會輸入他的用戶/密碼。真正的問題是,您無法自定義錯誤以包含其他鏈接(例如)。名稱「基本」是值得的。

+0

當然,這是有道理的。但是,無論登錄嘗試次數多少,我都無法獲得401頁面。有關於此的任何想法? – SuperTron

+0

也許如果你按Esc或取消按鈕?這是特定於瀏覽器的行爲,而我正在從內存中走出。 – ikegami

+0

不行,它總是重試。偶爾,這種行爲甚至會打破Windows瀏覽器,因爲你無法阻止它詢問你的密碼。這就是問題出在第一位的原因:P – SuperTron