首页 > 解决方案 > 如何防止恶意软件上传以保存网络公共图像?

问题描述

我想允许我网站的用户使用 node.js 保存公共图像文件。我应该怎么做才能遵循安全图像存储的最佳实践?如何防止恶意软件上传?

我目前控制以下内容:

我想允许保存以下类型的图像:

image/gif              gif;
image/jpeg             jpeg jpg;
image/png              png;
image/svg+xml          svg svgz;
image/tiff             tif tiff;
image/vnd.wap.wbmp     wbmp;
image/webp             webp;
image/x-icon           ico;
image/x-jng            jng;
image/x-ms-bmp         bmp;

我还应该考虑什么来防止恶意软件上传?

标签: node.jsimagesecurity

解决方案


您尚未分享有关如何允许下载以及如何进行下载的详细信息,但可以做出一般性答案,假设通过“检查用户是否登录”我们正在谈论一个网页过程:

如果图像是公开的,每个人都可以下载它。您不能阻止任何可以实际看到图像的人下载它(因为此时,图像已经传输到客户端的浏览器)。

通常(对于那些还不知道的人):永远不要放置您不想在网络上传播的在线图片(或者您无权拥有版权的图片)。“复杂的解决方案”,如试图禁用右键单击网页以防止下载只能阻止非常初学者。如果您希望图像能够显示,它必须是可访问的,因此它是可下载的。

您可以做什么,库存照片网站通常是这样工作的:只有质量差的图片预览(或上面有大水印)是公开的并显示在页面上。真正的全质量图像是私有的,当您的所有检查都得到验证后,将通过直接文件下载进行下载。


推荐阅读