繁体   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