2011-05-12 62 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 

其中公众从网页

相关问题