2011-04-17 49 views
1

我知道爲一個目錄創建登錄腳本非常簡單。但是,你如何使它以遞歸方式工作(子目錄)?PHP的登錄腳本,也適用於子目錄?

謝謝!

+1

通過「登錄腳本」你的意思是HTTP身份驗證?如果是這樣的話,只要將它從#'標籤中取出,它應該在子目錄中工作。 – 2011-04-17 15:51:58

+0

嗨亨利,我不喜歡默認的http身份驗證,因此我正在尋找一個解決方案在PHP中。 – FLX 2011-04-17 15:57:29

回答

2

你可以通過幾種不同的方式來解決這個問題。

您的第一個選擇(也是最直觀的)是在目錄中的每個頁面中簡單包含驗證代碼(檢查會話等)。這隻意味着很多複製粘貼include()聲明。但是,如果您希望保護圖像或其他文件等非腳本內容,則可以使用Apache的mod_rewrite將對文件的任何調用重定向到處理認證的單個PHP腳本。這是更穩健的方法,並且被廣泛使用,但它與mod_rewrite一起工作的學習曲線很小。

+0

嗨,亨利,我正在尋找一個mod_rewrite的解決方案,你能指導我一個很好的例子開始?謝謝 – FLX 2011-04-17 20:53:37

+0

@FLX,我喜歡[這篇文章](http://corz.org/serv/tricks/htaccess2.php)及其例子。在編寫規則時,請確保您捕獲正則表達式中所請求的文件並將其包含在新的URI中。這樣,你的腳本就可以從'$ _GET []'中拉取所需的文件名。 – 2011-04-17 21:24:11

+0

謝謝,我以前用過那篇文章。但是,我遇到的問題是無限遞歸,因爲我不知道如果身份驗證成功,那麼在PHP中通過傳遞的方式很不錯。目前它是:請求 - > mod_rewrite - > php:驗證!重定向到頁面 - >請求 - > mod_rewrite - > php:驗證!重定向到頁面 - >請求。無窮無盡,任何想法如何解決這個問題? – FLX 2011-04-17 21:43:30