2008-10-19 78 views
8

我有一个.ini文件,在我的php wab应用程序中有敏感信息。我使用.htaccess文件拒绝访问到它:拒绝在.htaccess中访问.ini文件是否安全?

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

我没有htdocs目录的外部访问的文件夹,所以我不能移动.ini文件出可浏览领土。

我的解决方案安全吗?

回答

7

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

在共享主机的情况下,它取决于服务器配置。 欲了解更多信息阅读:PHP Security in a shared hosting environment

可以暂时安装PHPShell并通过服务器的文件系统浏览检查你的服务器是脆弱的。 (需要一些命令行知识)

2

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

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文件。有什么理由不喜欢:)

实际执行的几个注意事项(道歉,如果这算作“overshare”但也许节约一些时间):

  1. 这个文件让我的IDE很不高兴,它不停地尝试自动重新格式化,然后使PHP不安。祝福在Notepad ++上。
  2. 不要忘记关闭;*/。它仍然有效,如果你离开它,但PHP警告你它将变得心烦意乱。

Sorted。