判断文件格式

在某些时候,我们需要判断文件是什么类型;而通过文件后缀(扩展名)并不能满足需求,因为扩展名可随意修改,试想一下对方给你发送了一个伪造扩展名的图片文件,实际上却是个木马病毒,又或者恶意攻击者上传了一个木马病毒到你的服务器,而你的程序却认为它是张图片;

况且在Linux环境下,没有扩展名这一说;扩展名只是一种用于方便辨认文件类型的方法,虽然它有时候不可信。

何如判断扩展名类型

  • 在可信任的情况下,可通过文件后缀(扩展名)来判断:如 .txt 是一个文本文件;此方法可作为判断文件类型的辅助条件;
  • 通过文件的文件头标志来判断;

绝大多数文件都包含头信息,比如 RAR 压缩文件的文件头(使用十六进制编辑器查看):52 61 72 71;JPEG文件的文件头:FF D8 FF

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/panduanwenjiangeshi.html

分类: 参考文档 计算机技术
推荐阅读:
Windows10禁用系统更新 Windows10禁用系统自动更新方法如下:
C语言strcpy()函数:复制字符串 strcpy()函数会将源字符串中的内容复制到目标字符串中,直至遇到字符串终止符'\0';复制过程中,包括字符串终止符'\0'在内的所有字符都会被复制;
Python compile()函数 在 Python 中,compile() 是一个内置函数,用于将字符串或AST对象编译成字节码或代码对象。编译后的字节码或代码对象可以在多个 Python 解释器中执行,从而避免每次执行时重新编译代码。
Linux查看实时活动的网络服务 在Linux系统下,你可以使用一条命令即可查看系统当前实时活动的网络服务:
让Linux终端像电影里一样下起数字雨 在Linux系统里,如果你想要实现电影里的数字雨,一条命令即可:
Python @classmethod装饰器 在 Python 中,@classmethod 是一个装饰器,用于将一个普通方法转换为类方法。装饰器是一种语法糖,它可以修改已有函数的行为而不修改其定义。@classmethod 装饰器通常用于在类中定义类方法。