判断文件格式

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

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

何如判断扩展名类型

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

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

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

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

分类: 参考文档 计算机技术
推荐阅读:
pip安装和更新scikit-learn(sklearn) scikit-learn(sklearn)是一个Python第三方提供的一个非常强大的机器学习库;使用pip工具安装方法如下:
no new variables on left side of :=错误解决方法 Go语言中使用:=进行赋值导致no new variables on left side of :=错误,其原因是:=左侧没有新变量;
Python ascii()函数 ascii()是 Python 内置函数之一,它可以将一个对象转换为ASCII字符串表示。
C/C++程序打印输出中文导致乱码的解决方法 C/C++程序打印输出中文导致乱码的解决方法如下:
C语言生成指定长度的字符串密码 在C语言中使用当前时间和进程识别码作为随机种子,生成一个指定长度,内容随机的字符串密码;
使用Session实例让requests保持会话 Session对象能让你跨请求保持某些参数;最长常见的是,当你使用requests尝试登录并且验证成功,服务端会返回一些Cookie,这些Cookie可以使你的下次请求不需要验证,而Session对象能保持这些Cookie,而不用你每次提交请求时构建一个新的Cookie。