在网络上进行分享的时候有一个操作肯定是无法避免的,那就是“文件上传”。我们经常发微博、发微信朋友圈等等,发送过程就用到了文件上传中的图片上传功能。将本地图片、视频、音频等文件上传到程序服务器上,再供其他用户浏览或下载。这就造成网站每天都会有大量数据的流入,海量数据带来用户的同时,也带来了一些安全问题。
而网站的开发者在网站存储空间中,经常会发现各类 xml、html、apk 等垃圾文件,这些文件或是注入广告,或者散播涉黄视频等资源,严重影响网站业务的运营。这些垃圾文件都是通过文件上传功能上传到网站存储空间的。如果网站上传程序没有对用户提交的数据进行检验或严格过滤,服务器就很容易被上传修改过的数据。
文件上传是数据安全中最容易被利用的一个环节,要减少恶意文件上传打扰,我们首先需要弄清楚它的原理。
文件类型和文件扩展名的作用
计算机的数据内容一般存放在例如硬盘等等这类存储硬件上。由于硬盘本身空间巨大,就像一个大仓库,为了方便数据存储以及管理,我们创造了文件的概念,也就是操作系统用文件的格式来封装存储于空间中的一段数据。
然而随着互联网的发展,从最开始的纯文本文件,发展到今天各个类型的多媒体文件,如图像、音频、视频等等,我们存储的文件越来越多,种类也越来越丰富,文件体积也越来越大,如果不对这些文件进行区分,查找起来极为麻烦。所以文件格式(或文件类型)也就应运而生。每一类文件,都能以一种或多种文件格式保存在电脑存储中。每一种文件格式通常会有一种或多种扩展名可以用来识别,扩展名可以帮助用户和应用程序识别的文件格式。
例如,有一个文件被命名为 README.txt ,.txt 就是这个文件的扩展名,而 txt 适用于纯