我知道一个解决方案是将.ini文件放在webroot之外,但我想要一个配置文件作为我的webapp的源代码树的一部分。如何阻止我的apache2服务器提供missile_launch_codes.ini服务?
因为我希望把数据库密码的话,我需要确保从键入其无法访问www.drstrangelove.com/missile_codes.ini
我想beleive有一个Apache的配置设置的这一点,但我不知道它是什么或者在google上输入什么来找出答案。
我知道一个解决方案是将.ini文件放在webroot之外,但我想要一个配置文件作为我的webapp的源代码树的一部分。如何阻止我的apache2服务器提供missile_launch_codes.ini服务?
因为我希望把数据库密码的话,我需要确保从键入其无法访问www.drstrangelove.com/missile_codes.ini
我想beleive有一个Apache的配置设置的这一点,但我不知道它是什么或者在google上输入什么来找出答案。
可以使用的.htaccess为:
<Files "*.ini">
order deny,allow
deny from all
</Files>
或者(如果你只想要一个.ini文件)的文件名取代*。
尽管Tobiask的回答让你有所需要,但我认为更好的解决方案是将.ini文件保存在你的htdocs(或www)目录之外,这样它就不能由apache首先提供。
如果你不能使用.htaccess文件,你总是可以作弊: 重命名你的ini文件,如config.ini.php;
将这个在第一行:
#<?php exit; ?>
user=username
pass=secret
这样,如果你尝试调用通过网络服务器ini文件,PHP代码会被执行,否则功能parse_ini_file
将跳过第一线因为它被评论(“#”)
希望得到这个帮助
如果.htacces的东西总是有效的,那有什么风险? – Matt 2011-01-13 13:22:06