2012-09-17 30 views
0

我有一個快速的問題,如果任何人都可以幫助。我正在爲可登錄的客戶端構建CMS,並更改所有存儲在數據庫中的內容(包括通過上載文件格式的圖片)。CMS上傳圖片文件安全問題

我的問題..我一直在研究,並且無處不在說我需要將圖像文件存儲在根文件夾之外。在我的情況下,如果只有少數人會上傳文件,在管理面板中,他們必須首先登錄到網站,這是否有必要?我已經通過確保文件類型,大小,擴展等來採取措施客戶端,然後在將文件添加到我的數據庫之前更改文件的名稱...是否足夠安全,還是我要求排除故障馬路?

感謝

+0

如果圖像縮進爲僅管理查看,那麼是的,它必須位於安全文件夾(位於網絡目錄之外或由htaccess保護)。如果圖像將顯示在主站點(如果有),它應該**公開。 –

+0

如果您正在製作文件瀏覽器,則可能只需要一個目錄來存放上傳的文件。但它可以放在你的web根目錄中而沒有問題。你並沒有試圖限制對這些文件的訪問,對吧? –

+0

圖片將在主網站上查看,是的。如果我將它們放入根目錄中,它不會打開網站以查找上傳的釣魚腳本,病毒等? – vinylDeveloper

回答

1

它通常是一個好主意來存儲上傳的內容某處,它不能直接通過瀏覽器來解決。你不想讓某人上傳一個.php文件(或其他一些你忘記檢查的格式),然後通過拔出直接的URL來執行它。相反,你需要一個交付文件的包裝腳本。

所以是的,它是一個好主意,但不是'必要的'(通過字典中的詞定義)。如果您認爲管理區域是安全的,您當然可以選擇而不是

也就是說,在你描述的場景中,只要其唯一一個可以上傳圖片的管理員用戶,我不認爲這是一個巨大的交易。

順便說一句,如果你還沒有,通過他們的文件頭或內容,而不是文件擴展名驗證圖像。

+0

謝謝。我想我會把它存儲在外面以保證安全。雖然我確信有這種方法也會受到攻擊,但這會更困難。 – vinylDeveloper