簡體   English   中英

php文件上傳類型

[英]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
        )
)

我想知道typetmp_name 我需要根據類型做出一些決定。 對現有類型進行決策是否安全? 對於Linux服務器上的類似文件,我會得到相同的結果嗎?

再次, tmp_name具有.tmp擴展名。 在Windows / Linux上是否一致? 如果沒有,我在Windows上編寫的代碼(使用type決定)是否可以在Linux上正常運行?

使用此type可能很危險,因為用戶可以更改文件的類型並可以上傳php腳本。

您應該像get_image_size()一樣先驗證type來驗證圖像文件。我不知道.zip文件

信任type $_FILEStype是不安全的,您需要在服務器端驗證文件類型。

對於.tmp擴展名,在Windows或Linux上都可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM