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