拒绝访问.htaccess中的.ini文件是否安全?

时间:2008-10-19 04:39:36

标签: php .htaccess

我的php wab应用程序中有一个包含敏感信息的.ini文件。我拒绝使用.htaccess文件访问它:

<files my.ini>
  order deny,allow
  deny from all
</files>

我无法访问htdocs以外的文件夹,因此我无法将.ini文件移出可浏览的区域。

我的解决方案安全吗?

3 个答案:

答案 0 :(得分:7)

.htaccess将阻止来自网络的访问。但是,如果您使用的是共享托管环境,则其他用户可能会访问您的ini。如果它在(虚拟专用)服务器上,并且您是该服务器的唯一用户,则您是安全的。

如果是共享主机,则取决于服务器配置。 欲了解更多信息,请阅读:PHP Security in a shared hosting environment

您可以临时安装PHPShell并浏览服务器文件系统以检查您的服务器是否容易受到攻击。 (需要一些命令行知识)

答案 1 :(得分:4)

另一个好的解决方案和我个人的最爱(特别是在开发可能不在我严格的.htaccess控件下的代码时)正在保护实际的.ini文件。感谢善良的灵魂here - user notes: pd at frozen-bits dot de,我所做的是:

my.ini -> changes to my.ini.php

my.ini.php开始:

;<?php
;die(); // For further security
;/*
    [category]
    name="value"

;*/

完美的作品!直接访问文件,你看到的只是';' 它是一个有效的,可解析的.ini文件。什么不喜欢:))

关于实际实施的一些注释(道歉,如果这算作“过度分享”,但可能会节省一些时间):

  1. 这个文件使我的IDE非常沮丧,它不断尝试自动重新格式化然后使PHP Upset。祝福在Notepad ++上。
  2. 不要忘记结束;*/。如果你把它留下来它仍然有效但是PHP警告你它将要变得沮丧。
  3. 排序。

答案 2 :(得分:2)

该文件在apache中不可见。显然,最好的选择是将它放在站点的根目录之外。如果你不能这样做,.htaccess文件(或你的apache配置中的类似指令)几乎是你唯一的选择。