2011-05-12 52 views
1

我有一個php應用程序,我打算將關鍵設置保存在.ini文件中。不過,我認爲這個文件可以通過網絡訪問,那麼放置它的「標準位置」在哪裏?.ini for web應用程序的位置

回答

3

您可以將其存儲在文檔/ web根目錄之上或專門阻止對其的訪問。例如,對於PHP應用程序的通用結構爲:

application/ 
public/ 

哪裏public是Web根 - 所以我通常存儲在application/config應用配置,我知道它不能被訪問。

另一種方法是使用Apache阻止它:

<!-- Block access to all .ini files --> 
<Files ~ "\.ini"> 
    Order deny,allow 
    Deny from all 
</Files> 
1

「標準位置」不受apache目錄根影響。例如,您可以將其放置在/home/someuser/或其他地方。

1

將.ini文件放置在Web根目錄之外或使用.htaccess保護它,如果您確實想將它保留在Web根目錄下。

0

我會用一個數據庫說實話。

但是,如果您確實想使用平面文件(例如.ini),則可以將其放置在目錄中,並使用.htaccess阻止用戶通過瀏覽器訪問它。這樣,您仍然可以通過php文件功能訪問該文件。

要做到這一點,創建一個名爲的.htaccess要保護的文件夾中(如INI /)

然後文件,在這個文件中放:

deny from all 

該文件夾現在無法訪問通過瀏覽器中的網址。

+0

入店不能存儲在數據庫中的數據庫用戶名/密碼/主機,雖然你也可以。一個配置文件對於任何非常重要的東西仍然有用,硬編碼僅用於一次性東西。 – 2011-05-12 11:52:44

1

如果您將INI文件放入您的webroot/docroot中,可以訪問它。

確保文件不能通過docroot訪問是第一步。

0

放置在一個目錄中的配置不是由web服務器可讀,但可讀的應用。通常,您有一個Web服務器可讀的特定目錄,例如「web」,「www」,「public」或「public_html」。確保你把它放在那個目錄下面。

這樣一來,你的應用程序可以讀取文件:

$cfg = parse_ini_file( 
    realpath(dirname(__FILE__) . '/../') . '/config.php' 
); 

您的Web服務器不知道如何到達,雖然它,所以它是安全的。

0

一個很好的例子是Zend FW或任何其他的PHP框架。目錄藥結構爲:

application/config/config.ini 
library/Zend/ 
public/index.php 

其中公衆從網頁

相關問題