我一直在使用http認證使用.htaccess文件來嘗試改善我的當前cms。Htaccess - Http身份驗證 - 可能可以捕獲GET並應用身份驗證,然後重定向?有示例
我發現在Apache的一個解決方案,而,我在HTML中使用鏈接的地方<a href=".test">Test</a>
。
我再加入這個我的.htaccess:
<Files .test>
AuthType Digest
AuthNAme "Restricted Page"
AuthDigestProvider file
AuthUserFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
# If user is authenticated then redirect
RewriteEngine on
RewriteCond %{REMOTE_USER} !=""
RewriteRule ^.*$ /test.php? [R]
</Files>
這個做什麼,是當用戶點擊超鏈接提到,用戶則通過HTTP認證的登錄表單的提示。當他們輸入正確的憑證時,它們會被重定向到名爲test.php的可訪問根目錄中的一個頁面,該頁面又包含cms索引,該目錄位於Web根目錄之外。
如果用戶選擇cms中的一個部分,系統會提示他們再次登錄(使用站點默認基於php的登錄系統),只有具有正確角色分配的用戶纔可以訪問任何特定部分。
雖然這是有用的,這是不太什麼,我試圖完成。
我想到的是,在我的情況下有兩種可能的解決方案。
其中之一是其中一個用戶可以輸入說,在地址http://www.myDomain.com/?whateveryoulike
和被引導到我的CMS來代替。理想情況下,此重定向將直接指向其根目錄中的我的cms索引,該索引不可通過http://
訪問。像這樣的東西,可以在PHP來實現:
if isset($_GET['whateveryoulike'])
{
include $_SERVER['DOCUMENT_ROOT'] . '/../../admin/blah.php';
}
我想到了另外一個辦法是什麼我不知道非常關注,但它涉及到HTTP認證,我已經使用過一次看到...
基本上用戶輸入[email protected],他們得到系統提示HTTP認證登錄框。當證書被滿足時,它們被髮送到網站內的一個單獨的部分。
會有人能夠提供與我怎麼會去這任何輸入,建議或addittional想法?
雖然我的問題是,如果有可能實際抓住GET(http://www.myDomain.com/?whateveryoulike
),那麼應用http身份驗證,然後將用戶重定向到一個頁面,該頁面不在http://
根目錄中?
感謝您花時間閱讀本文!
我想我能做的就是增加我的小PHP語句來我的配置,然後通過在索引頁PHP使用HTTP認證... – 2012-01-29 18:34:34