Web 应用程序 .ini 的位置

发布于 2024-11-06 22:22:40 字数 76 浏览 3 评论 0原文

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

I have a php applicaiton and i'm planning to keep critical settings in a .ini file. However, i think that file can be accessed from over the web, so where is a "standard place" for it to be placed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

ぃ双果 2024-11-13 22:22:40

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

application/
public/

其中 public 是 Web 根目录 - 因此我通常将应用程序配置存储在 application/config 中,但我知道它不能存储在其中已访问。

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

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

You can store it above the document/web root or specifically block access to it. For example, a common structure for PHP applications is:

application/
public/

Where public is the web root - so I usually store application configuration in application/config where I know it can't be accessed.

An alternative would be to block it using Apache:

<!-- Block access to all .ini files -->
<Files ~ "\.ini">
    Order deny,allow
    Deny from all
</Files>
风尘浪孓 2024-11-13 22:22:40

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

The "standard place" is anywhere not affected by the directory root of the apache. For example you can place it under /home/someuser/, or somewhere else.

五里雾 2024-11-13 22:22:40

将 .ini 文件放在 Web 根目录之外,或者如果您确实想将其保留在 Web 根目录下,则使用 .htaccess 对其进行保护。

Place the .ini file outside the web root or protect it with .htaccess if you really want to keep it under the web root.

荒岛晴空 2024-11-13 22:22:40

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

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

It can be accessed if you place your INI file in your webroot/docroot.

Making sure the file is not accessible via the docroot is the first step.

药祭#氼 2024-11-13 22:22:40

老实说,我会使用数据库。

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

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

然后在此文件中输入:

deny from all

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

I would use a database to be honest.

However, if you really want to use a flat file (e.g. .ini), you can place it in a directory, and use .htaccess to stop people from accessing it via their browser. That way, you can still access the file via php file functions.

To do this, make a file called .htaccess in the folder you want to protect (e.g. ini/)

Then, in this file put:

deny from all

The folder is now not accessible by going to the url in the browser.

玩世 2024-11-13 22:22:40

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

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

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

但您的网络服务器不知道如何访问该文件,因此它是安全的。

Place the configuration in a directory that isn't readable by the webserver, yet is readable for the application. Generally, you have a specific directory that's readable by the webserver, such as "web", "www", "public" or "public_html". Make sure you put it in the directory below that one.

That way, your application can read the file:

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

Your webserver doesn't know how to reach it though, so it's secure.

小镇女孩 2024-11-13 22:22:40

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

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

public 可从网络访问

a good example is Zend FW or any other php frameworks. directory structue is:

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

where public is accesible from web

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文