2008-10-19 82 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。