.ini的位置,适用于Web应用程序

时间:2011-05-12 11:40:37

标签: php linux ini

我有一个php应用程序,我打算在.ini文件中保留关键设置。但是,我认为可以通过网络访问该文件,那么放置它的“标准位置”在哪里?

7 个答案:

答案 0 :(得分:3)

您可以将其存储在文档/ Web根目录之上,或者专门阻止对它的访问。例如,PHP应用程序的常见结构是:

application/
public/

其中public是网络根目录 - 所以我通常将应用程序配置存储在application/config,我知道无法访问它。

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

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

答案 1 :(得分:1)

&#34;标准场所&#34;是任何不受Apache的目录根影响的地方。例如,您可以将其放在/home/someuser/或其他地方。

答案 2 :(得分:1)

将.ini文件放在Web根目录之外,或者如果您确实希望将其保留在Web根目录下,请使用.htaccess保护它。

答案 3 :(得分:1)

如果将INI文件放在webroot / docroot中,则可以访问它。

确保无法通过docroot访问该文件是第一步。

答案 4 :(得分:0)

我会诚实地使用数据库。

但是,如果您确实想要使用平面文件(例如.ini),则可以将其放在目录中,并使用.htaccess阻止人们通过浏览器访问它。这样,您仍然可以通过php文件函数访问该文件。

要执行此操作,请在要保护的文件夹中创建名为.htaccess的文件(例如ini /)

然后,在这个文件中输入:

deny from all

现在无法通过浏览器中的网址访问该文件夹。

答案 5 :(得分:0)

将配置放在Web服务器无法读取的目录中,但 对应用程序可读。通常,您有一个Web服务器可读的特定目录,例如“web”,“www”,“public”或“public_html”。确保将其放在该目录下面的目录中。

这样,您的应用程序就可以读取文件:

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

您的网络服务器不知道如何联系它,因此它是安全的。

答案 6 :(得分:0)

一个很好的例子是Zend FW或任何其他php框架。目录结构是:

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

可从网站访问公众