2011-10-18 156 views
0

我在使用命令行編輯器在本地編輯Web服務器上的文件時遇到了問題。這個規則是否足以保護這個安全漏洞?

編輯器創建了一個備份文件,後綴爲~字符。

因此就出現了一個名爲file.php~

此文件可以直接下載在網絡服務器的文件,因爲它不是一個PHP文件處理。

我想過這樣的指令:

<Files ~ "~$"> 
Order allow,deny 
Deny from all 
</Files> 

使之與~結束被拒絕交付每個文件。

這是一個很好的方法,我錯過了什麼嗎?

+0

什麼是阻止他們改變〜某些其他角色? –

+0

更好的解決方案是告訴編輯不要創建備份文件,和/或只是在文檔根目錄之外的某處編輯文件。 –

+0

爲什麼不只允許執行.php文件,只讀取.css/.png/.js ....等文件,而不是僅僅避免這種情況?即使你沒有這個問題,我認爲這是一件好事。 – XzKto

回答

1

這應該充分解決它;然而,更大的問題是直接在服務器上編輯,當你應該使用源代碼控制(如svn,git),然後從源代碼控制部署時。如果其他編輯使用.bak會怎麼樣?

+0

我完全同意這個。但是很難控制人爲錯誤;)在這種情況下,它是一個未版本化的文件(包括數據庫訪問數據的本地配置)。證書被改變了,這是本地編輯它的原因。 –

+0

憑證文件甚至不應該在Web根目錄中,但是我意識到許多許多php應用程序都在這樣做。 – DGM