【发布时间】:2017-11-11 02:26:10
【问题描述】:
我在 netbeans 中有一个项目,我的雇主希望我添加批量文件上传。 要求是,用户将 csv 文件和一些图像放在客户端的文件夹中。在文件上传页面上,他将选择 csv 文件,我必须将文件夹中的图像与 csv 一起上传。 经过短暂的研究后,我发现无法从服务器端访问客户端文件位置和详细信息,因此用户不会上传单个文件及其所属文件夹中的内容,而是压缩所有文件并上传压缩文件。 现在我担心上传 zip 文件的安全风险。
- 我应该采取哪些措施来防止恶意脚本和文件与 zip 一起上传?
- 是否可以在文件内容到达服务器之前对其进行验证?
- 是否可以在它到达服务器端后安全地验证它?
【问题讨论】:
-
如果您特别担心 zip 文件(尽管原因尚不完全清楚),请不要让用户上传 zip 文件。上传表单可以包含多个文件。
-
您在担心什么? zip 文件只是一个文件,就像任何其他文件一样。一个字节序列。上传 zip 文件并没有什么危险。如果您打开 zip 文件并执行存储在 zip 文件中的可执行文件,则可能会出现问题。但是你为什么要这样做呢?
-
我很担心 zip 文件,因为上传后我必须将其解压缩到服务器中的一个文件夹中,并且必须进行一些操作。如果 zip 包含可执行文件,这些文件可以在到达后执行怎么办服务器。关于上传表单,我以前从未使用过。我在这里尝试上传的内容将包含大约 3000 个 jpg 文件和一个 csv 文件,其中包含一些详细信息和特定图像的名称。
-
可执行文件不只是自己执行。如果你不执行它们,它们将不会被执行。但是您可以删除所有非 .jpg 文件,并删除所有具有可执行标志的文件(如果有的话,我什至不确定 zip 文件是否可行)。
标签: java security zipfile uploading