Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php web应用程序的.ini的位置_Php_Linux_Ini - Fatal编程技术网

Php web应用程序的.ini的位置

Php web应用程序的.ini的位置,php,linux,ini,Php,Linux,Ini,我有一个php应用程序,我计划将关键设置保存在一个.ini文件中。但是,我认为可以通过web访问该文件,因此,该文件的“标准位置”在哪里?该“标准位置”不受apache目录根的影响。例如,您可以将其放置在/home/someuser/下或其他地方。标准位置不受apache目录根的影响。例如,您可以将其置于/home/someuser/下,或者其他地方。将.ini文件放在web根目录之外,或者如果您真的想将其保存在web根目录下,请使用.htaccess对其进行保护。将.ini文件放在web根目录

我有一个php应用程序,我计划将关键设置保存在一个.ini文件中。但是,我认为可以通过web访问该文件,因此,该文件的“标准位置”在哪里?

该“标准位置”不受apache目录根的影响。例如,您可以将其放置在
/home/someuser/
下或其他地方。

标准位置不受apache目录根的影响。例如,您可以将其置于
/home/someuser/
下,或者其他地方。

将.ini文件放在web根目录之外,或者如果您真的想将其保存在web根目录下,请使用.htaccess对其进行保护。

将.ini文件放在web根目录之外,或者如果您真的想将其保存在web根目录下,请使用.htaccess对其进行保护。

老实说,我会使用数据库

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

为此,在要保护的文件夹中创建一个名为.htaccess的文件(例如ini/)

然后,在此文件中放入:

deny from all

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

老实说,我会使用数据库

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

为此,在要保护的文件夹中创建一个名为.htaccess的文件(例如ini/)

然后,在此文件中放入:

deny from all

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

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


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

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


确保文件不能通过docroot访问是第一步。

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

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

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

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

命令拒绝,允许
全盘否定

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

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

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

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

命令拒绝,允许
全盘否定

将配置放在Web服务器无法读取但应用程序可以读取的目录中。通常,您有一个web服务器可以读取的特定目录,例如“web”、“www”、“public”或“public\u html”。确保你把它放在那个目录下

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

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

但是,您的Web服务器不知道如何访问它,因此它是安全的。

将配置放在Web服务器无法读取但应用程序可以读取的目录中。通常,您有一个web服务器可以读取的特定目录,例如“web”、“www”、“public”或“public\u html”。确保你把它放在那个目录下

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

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

您的Web服务器不知道如何访问它,因此它是安全的。

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

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

如果可以从web访问public,Zend FW或任何其他php框架就是一个很好的例子。目录结构是:

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

如果可以从web访问public,则不能将数据库用户名/密码/主机存储在数据库中。配置文件对于任何非琐碎的东西仍然有用,硬编码只保留给一次性的东西。但是,你不能将数据库用户名/密码/主机存储在数据库中。配置文件对于任何非琐碎的东西仍然有用,硬编码只保留给一次性的东西。