![]() |
1
6
我不会依赖访问者提供的文件扩展名。相反,询问文件本身是什么(这仍然可以被欺骗,但可能性较小;而且您不必怀疑扩展名是3或4个字符(例如jpeg、jpg))。尝试:
它们更可靠。 |
![]() |
2
5
您也可以使用
fileinfo
(php>=5.3),或者如果您使用的是旧版本的php,类似于
一旦您拥有了文件的mime类型,这只是一个映射问题(如“image/png”=>“png”)。 (实际上,出于安全原因应该更好;如果我记得正确,客户机会发送$_文件['..'][类型'],并且可以伪造) |
![]() |
3
2
如果您使用php 5.3运行一个更新得很好的服务器,那么您应该研究一下新的 File Information 延伸。它将查看文件本身,并尝试确定mime类型,从中可以获得扩展名。这比查看浏览器提供的扩展名或mime类型更可靠,因为这两种类型都是伪造的。 理想的解决方案可以使用所有这些方法的组合,以获得最大的效果。 |
![]() |
4
1
|
![]() |
5
1
假设你有
你可以做到
|
![]() |
6
1
或
|
![]() |
7
0
我在最近构建的应用程序中使用了数组。而且效果很好。
|
![]() |
8
0
|
![]() |
9
0
海
如果($type='.gif'$type='.jpg'$type=='.jpeg'$type='.png'$type='.gif'$type='.jpg'$type='.png'$type='.jpeg') { //您的代码………… } |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |