2013-09-24 30 views
0

我已經做了一個網站1年前使用PHP,當我有很少經驗。我的老師和我今天正在分析代碼,似乎存在安全問題。他希望我在給我我需要的點之前解決它。限制訪問所有的PHP文件,除了其中三個

我有一個index.phpedit.php文件的根目錄下,並在/php/login.php一個登錄頁面(我覺得這是把在登錄文件一件很無聊的地方,現在我回頭看它,如果我要重寫我的網站,我可能會更換edit.phplogin.php的目錄)。

基本上,我希望這三個文件可以在外部訪問。我想要從外部限制所有其他php文件,所以不可能從系統外部(這是我提到的安全問題)對/php/phpsavefile.php執行ajax調用。 edit.php使ajax呼叫/php/savefile.php

我覺得這是我需要的東西,以完成工作:

Order Deny,Allow 
Deny from all 
Allow from 127.0.0.1 

<Files /index.php> 
    Order Allow,Deny 
    Allow from all 
</Files> 

但我怎麼能添加三個文件,而不只是一個<Files>過嗎?

我也嘗試第二種方法:

Order Deny,Allow 
Deny from all 

這似乎並沒有工作,因爲Ajax調用似乎是一個普通的HTTP請求一樣,所以它得到403的響應。

我試過的另一種方法是將受限制的php文件放在一個名爲「private」 的地圖中放置「httpdocs」所在的文件夾(webroot的父文件夾)。我的老師曾經告訴過我一個管理員文件夾,沒有人可以訪問,但網站本身。我想包括私有文件夾內的限制PHP文件,但它似乎沒有正常包含它......

任何幫助或提示這個新手在的.htaccess將不勝感激:-)

編輯:

.htaccess allow access to files only from includes

雷的評論說:

當然,因爲它們是由客戶端請求。您不能「允許客戶端」和「不允許客戶端」提供文件。

我想這是真的,但我怎麼能阻止人們調用我的ajax文件?

回答

0

我通過檢查用戶是否登錄來保護它。

相關問題