我的php wab应用程序中有一个包含敏感信息的.ini文件。我拒绝使用.htaccess文件访问它:
<files my.ini>
order deny,allow
deny from all
</files>
我无法访问htdocs以外的文件夹,因此我无法将.ini文件移出可浏览的区域。
我的解决方案安全吗?
答案 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文件。什么不喜欢:))
关于实际实施的一些注释(道歉,如果这算作“过度分享”,但可能会节省一些时间):
;*/
。如果你把它留下来它仍然有效但是PHP警告你它将要变得沮丧。排序。
答案 2 :(得分:2)
该文件在apache中不可见。显然,最好的选择是将它放在站点的根目录之外。如果你不能这样做,.htaccess文件(或你的apache配置中的类似指令)几乎是你唯一的选择。