[英]php file upload type
我正在嘗試從HTML表單上傳一個zip文件和一個csv文件。
在PHP上,當我打印$ _FILES(實際上是symfony中的$ request-> getFiles())時,我得到了關注。
Array
(
[zipfile] => Array
(
[name] => tempfiles.zip
[type] => application/octet-stream
[tmp_name] => C:\wamp\tmp\php5D42.tmp
[error] => 0
[size] => 850953
)
[csvfile] => Array
(
[name] => test.csv
[type] => application/vnd.ms-excel
[tmp_name] => C:\wamp\tmp\php5D52.tmp
[error] => 0
[size] => 312
)
)
我想知道type
和tmp_name
。 我需要根據類型做出一些決定。 對現有類型進行決策是否安全? 對於Linux服務器上的類似文件,我會得到相同的結果嗎?
再次, tmp_name
具有.tmp
擴展名。 在Windows / Linux上是否一致? 如果沒有,我在Windows上編寫的代碼(使用type
決定)是否可以在Linux上正常運行?
使用此type
可能很危險,因為用戶可以更改文件的類型並可以上傳php腳本。
您應該像get_image_size()一樣先驗證type
來驗證圖像文件。我不知道.zip文件
信任type
$_FILES
的type
是不安全的,您需要在服務器端驗證文件類型。
對於.tmp
擴展名,在Windows或Linux上都可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.