2014-03-27 49 views
0

這可能是個愚蠢的問題,但我不完全確定如何查看它。我有一個config.xml文件,其中包含一些不應公開的信息,因此如果我訪問www.domain.com/config.xml,則應該保護此文件,但我的Web應用程序需要從此文件讀取。只能由應用程序訪問的文件

我已經嘗試將此文件(託管)設置爲「000」(基於Linux)的權限,但然後我的腳本無法讀取該文件。但是,當我將它設置爲「600」時,則每個人都可以訪問此文件。

你能指點我正確的方向嗎?我只需要將這個文件隱藏給公共用戶,但是可以通過我的php腳本訪問。

+0

您可以使用.htaccess來防止人們直接打開文件。你可以爲每個文件,或所有的XML等 – Martijn

+0

這似乎是合理的,我可以應用此特定文件夾中的所有文件? – user3370402

+0

是,或者是一種文件,或者多個文件。或相反,只有你同意的列表 – Martijn

回答

1

您可以將XML文件放在公用文件夾之外,它仍然可供您的應用程序訪問,但不能訪問外部世界。

Ex。如果公共目錄是/無功/網絡/網站/的public_html把你的XML文件到/無功/網絡/網站/

EDIT1: 如果上述方法不適合你的需求,你可以使用htaccess的:

<Files "config.xml"> 
    Order Allow,Deny 
    Deny from all 
</Files> 

EDIT2:既然你不能使用任何的上面,讓我們嘗試第3選項:

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !www.yoursite.com [NC] 
RewriteRule \.(xml)$ - [F,NC] 

Source

+0

謝謝你的答案,這肯定會奏效,但我可能需要把這個放在多個主機上,我不確定每個人和他們每個人都有一個「外部」文件夾可用於我。 – user3370402

+0

根據您的評論編輯我的答案。 – Dexa

+0

謝謝,但不幸的是它不工作。我認爲這可能是對Apache設置。我發現你需要在apache配置中使用「AllowOverride All」,你認爲這可能是問題嗎?問題是我無法在主機上訪問這樣的文件。 – user3370402

相關問題