2013-08-06 35 views
0
move_uploaded_file($_FILES["images"]["tmp_name"][$key], "img/" . $_FILES['images']['name'][$key]) 

上面的代碼顯示了我的形象的新位置是如何找到圖像位置

"img/" . $_FILES['images']['name'][$key]).

我這怎麼能存儲在一個變量,這樣我可以在MySQL通過此位置數據庫用於檢索圖像。

+8

做**不**使用此代碼。您正在通過允許任何人在服務器上隨時隨地上傳文件來打開您的系統,使其完全受到遠程損害。至於你的實際問題,'$ var ='img /'。 $ _FILES [等等....'。 –

+0

@MarcB因爲'[$ key]'? –

+3

@MarcB當你提到安全問題時,請給他提供更多信息 –

回答

0

由於name值中設置的文件名基於用戶提供的文件名,並且因爲您沒有對內容或名稱進行任何明顯的清理,用戶可以上傳apache可執行的文件並將其提供給它一個名字如:

../../../wickedevilnaughtyfile並將其獲取到主機系統的根目錄或類似的不屬於它的惡意位置,並且可以從Web瀏覽器執行,因爲http服務器(apache或whatevs)可以訪問它,因爲它創建了該文件。

這是不是一個實際的答案,但在評論中要求,安全威脅需要超過600個字符有時解釋

順便說一句,如果我錯過了在這個有些簡潔的解釋任何東西,或得到的東西只是錯了,隨時編輯並在答案中籤名。

+0

正如我所說的,任何關於OP或其他人可以使用的安全方法的建議?也許有幾個關鍵字給谷歌?一些有用的信息對於所有會在這個問題上遇到困難的人都是有益的。 –