2011-01-11 73 views
0

我有用於我的網站付款的處理文件。它工作得很好,但我想要做的是將所有請求記錄到此頁面,以便如果有任何錯誤發生,原始數據將被保存,並且我可以手動處理事務。處理文件使用fopen寫入另一個目錄中的日誌文件。具有正確權限的自定義日誌文件

我現在所擁有的是我的根目錄下的一個單獨的文件夾,其權限爲755.然後是一個內部權限爲777的日誌文件。如果有問題,寫入日誌文件的處理文件(在PHP中)設置爲777 。

這個工作現在,但日誌文件是公開的。我知道我可以做得更好,並且權限不正確。我怎樣才能做得更好?

回答

1

將日誌文件放在文檔根目錄之外。寫入它的PHP腳本仍然能夠通過它(通過完整路徑),但Apache將無法提供它。

+0

這不是關於權限的答案 – vladkras 2016-01-09 07:27:36

0

我在爲自己尋找答案時遇到了這個問題。我不相信有一個簡單的「權限修復」來做你想做的事,也許最安全的方法是把日誌文件放在public_html目錄之外。

然而,這可能是一個滋擾有時 - 特別是如果你想要例如在記錄文件中捕獲paypal ipn dump文本,但不能公開訪問它。

在這種情況下,您可以使用.htaccess文件指令來允許從腳本寫入,但拒絕讀取公共訪問。例如,這適用於我(Apache公共.html文件夾中的Apache .htaccess);

<FilesMatch "mycustom\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

並且如果您有多個要保護的日誌,請使用「Pipe Separated」;

<FilesMatch "mycustom\.log|ipn_errors\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

值得注意的是,上述指令被棄用的Apache 2.4的,你不妨考慮使用更多的電流指令來代替:https://httpd.apache.org/docs/2.4/howto/access.html

希望幫助你!