2011-01-13 125 views
0

我知道一個解決方案是將.ini文件放在webroot之外,但我想要一個配置文件作爲我的webapp的源代碼樹的一部分。如何阻止我的apache2服務器提供missile_launch_codes.ini服務?

因爲我希望把數據庫密碼的話,我需要確保從鍵入其無法訪問www.drstrangelove.com/missile_codes.ini

我想beleive有一個Apache的配置設置的這一點,但我不知道它是什麼或者在google上輸入什麼來找出答案。

回答

3

可以使用的.htaccess爲:

<Files "*.ini"> 
order deny,allow 
deny from all 
</Files> 

或者(如果你只想要一個.ini文件)的文件名取代*。

2

儘管Tobiask的回答讓你有所需要,但我認爲更好的解決方案是將.ini文件保存在你的htdocs(或www)目錄之外,這樣它就不能由apache首先提供。

+0

如果.htacces的東西總是有效的,那有什麼風險? – Matt 2011-01-13 13:22:06

1

如果你不能使用.htaccess文件,你總是可以作弊: 重命名你的ini文件,如config.ini.php;

將這個在第一行:

#<?php exit; ?> 
user=username 
pass=secret 

這樣,如果你嘗試調用通過網絡服務器ini文件,PHP代碼會被執行,否則功能parse_ini_file將跳過第一線因爲它被評論(「#」)

希望得到這個幫助