zoukankan      html  css  js  c++  java
  • MIME

    MIME类型没有统一

    假如我们希望仅允许上传jpg文件,那么通常做法就是判断上传文件的ContentType是否为“image/jpeg”,不是则拒绝,着看起来很简单,但是实际上这个网站通过Chrome浏览和使用时不会有问题,但使用IE(测试时使用的是IE8)上传jpg文件就会遭拒了,经过调试,发现IE上传时的ContentType是“image/pjpeg”。

    这还仅限于两个浏览器、一种文件格式的情况,如果是多家浏览器多种文件格式的话,要兼顾就有得头疼了。

    在我简单的几下测试中,发现的其他区别有:

    • png文件Chrome提交的ContentType为image/png,而IE提交为image/x-png
    • zip、rar、msi等文件使用Chrome提交的ContentType都为null,IE可以正确获取

    可靠性与安全性低

    由上一个问题很容易就想出:MIME类型完全是由客户端说了算的

    而既然是客户端的东西,那就是不可信的,因为用户完全可以使用非主流浏览器或是恶意程序进行欺骗。

    比如将可执行文件伪装为图像的MIME骗过服务端的检查,而如果你正好在服务端存储时仍保留了原文件的扩展名的话,就非常危险了。

    (比如通过欺骗上传了一个aspx文件,然后就可以通过访问其url直接执行了)

  • 相关阅读:
    Python 编码格式的使用
    解决cmd 运行python socket怎么终止运行
    解决win10子系统Ubuntu新装的mysql 不能root登陆方法
    浏览器中网址访问过程详解
    POJ 2502 最短路
    HDU 2859
    POJ 3186
    POJ 1661 暴力dp
    POJ 1015 陪审团问题
    CodeForces 1058E
  • 原文地址:https://www.cnblogs.com/Italianetz/p/3494637.html
Copyright © 2011-2022 走看看