文件上传要求:快速、可靠、安全

    如果考虑在应用程序中实现文件上传工具,必须考虑三个主要因素:速度、可靠性和安全性。

    这些因素直接影响文件上传器的可用性和质量,从而提高用户满意度和留存率。如果没有它们,文件上传将会令人沮丧、令人不快或具有破坏性。

    构建理想文件上传解决方案在大多数情况下可能会令人困惑、具有挑战性和耗时。在这篇文章中,我将向您展示这些因素是多么重要,以及您可以做些什么来实现它们。

    手拿手机的图像

    图片来源:Freepik rawpixel.com

    我们与Filestack.感谢您对合作伙伴的支持,是他们让SitePoint成为可能。必威西盟体育网页登录

    现代文件上传的基础知识

    在我们讨论如何优化文件上传之前,让我们先回顾一下基础知识。最简单的文件上传工具由允许用户将文件发送到服务器的接口组成。但是为了满足现代用户的需求,你还需要添加一些用户期望上传程序具有的功能。这些包括:

    • 将文件拖放或复制粘贴到上传器的选项
    • 从其他来源上传,如社交媒体应用程序或云存储
    • 能够预览,编辑和处理上传的文件
    • 一个干净、直观、响应迅速的界面

    这些特性本身通常是不够的。它们还必须以最好的方式交付。上传必须是无缝的。开发人员必须优先考虑以下文件上传必需品。

    速度

    我们必须考虑的第一个因素是速度。大多数用户都希望他们的文件上传得相当快,不管文件大小或文件数量如何。一个主要原因是科技巨头——尤其是社交媒体公司——如何优化他们的文件上传程序,使其尽可能快。

    速度是文件上传的关键,因为它影响用户体验。没有人愿意为文件上传等上几分钟。一个闪电般快速的文件上传器让用户有更多的时间做最重要的事情,这让他们很高兴。对于工作空间来说,时间是最重要的。

    你可以做以下几件事来提高应用程序的上传速度:

    • 多部分上传.包括将文件分成更小的块,上传它们,然后在上传后将它们重新拼接起来。
    • 压缩图片.通过牺牲一点质量来最小化图像文件大小。大多数(如果不是全部的话)社交媒体网站都会压缩图片,从个人资料照片到共享照片。这是因为图像质量越高,上传时间就越长。
    • 限制上传大小.较大的文件需要更长的时间上传。因此,您可能希望设置一个限制,以确保只上传文件大小相当大的文件。
    • 使用CDN.加速文件上传的最佳方法之一是使用CDN(内容交付网络)。顾名思义,它是一个服务器网络或数据中心,称为持久性有机污染物分布在全球各地。这允许用户与PoP进行通信地理上离他们最近,减少往返时间,可加快用户上传/存取文件的速度。

    通过实现部分或全部这些实践,可以显著提高应用程序内的上传速度,使用户满意,使应用程序无缝连接。

    然而,无论您的文件上传速度有多快,如果用户可能被中断并无法恢复,他们仍然会失去兴趣。如果发生这种情况,速度的提高将是徒劳的。幸运的是,有一些方法可以保护文件上传不受这种中断的影响。

    可靠性

    上传文件时不受干扰或出现问题的能力是每个文件上传解决方案的另一个必备特性。拥有一个可靠的文件上传器有助于建立客户对你的产品的信心,让他们顺利地使用它。

    可靠性对于个人和专业用例非常重要。您的应用程序应该认识到您的用户是宝贵的,不应该重复地尝试上传文件。你必须确保你的应用程序可以在最恶劣的网络条件下处理上传。另一件需要考虑的事情是您需要处理失败的上传。

    让你的应用文件上传更可靠可以简单也可以复杂,这取决于你想要的可靠性水平。例如,通知用户上传失败或显示上传进度可以很容易做到。另一方面,允许用户恢复失败的上传将花费更多的时间和编码。而防止上传失败或减少上传的发生则更具挑战性。

    下面是一些你可以实现的特性,以帮助提高应用程序的文件上传工具的可靠性:

    • 上传错误处理.在文件上传错误/中断的情况下,您必须通知用户并告诉他们下一步的操作(例如重新上传或恢复)。通过适当的错误处理和消息提示,您可以提供帮助消除用户后顾之忧,明确上传状态

    • 进度条.这些提示会提示用户他们的文件上传是否在继续,以及他们需要等待多长时间才能完成。

    • 可恢复的上传.与前两个特性不同,这直接提高了文件上传工具的可靠性。它包括允许用户在上传失败的情况下继续上传。然而,实现这一点并不容易,因为您需要将文件(很像我们前面讨论的多部分上传)分割成更小的块。如果分块上传失败,则重新上传整个文件,直到成功。但这仍然不能解决在恶劣的网络环境下上传的问题。

    • 聪明的摄入.这是提高文件上传可靠性的最有效方法防止上传失败.智能摄取包括检查网络状况和优化文件块的分区。这确保了用户即使在网络连接不稳定的地方也可以上传。这个功能构建起来非常复杂,但是已经有第三方文件上传解决方案实现了聪明的摄入

    在使文件上传更快、更可靠之后,还有一个必要的增强:保护文件和应用程序。

    安全

    文件上传是大多数现代应用程序中最普遍的功能之一,但它也是最容易受到攻击的功能之一。如今,许多可能的攻击来自易受攻击的文件上传工具。这些包括:

    • 上传一个可以运行命令、篡改文件和对服务器进行其他重要更改的文件
    • 跨站脚本(XSS)
    • 修改现有网页或在网络服务器上上传有害网页
    • 未经授权收集、传播敏感信息
    • DoS(拒绝服务)攻击,使服务器资源过载并使它们(以及它们托管的软件)无法使用
    • 和许多其他漏洞

    如果任其发展,这些攻击会损害你的产品和业务。因此,有必要采取安全措施来降低文件上传的风险。为了更好地保护您的应用程序,您可以遵循以下文件安全的最佳实践:

    • 验证文件或帐户修改请求。
    • 实现策略以检查哪些操作被授权,然后使用签名验证策略。
    • 设置上传文件数量的最大值和最小值。
    • 设置文件大小的最大和最小限制。
    • 限制允许的文件类型为您需要的。
    • 从文件名和文件扩展名中删除所有Unicode或特殊字符。您还可以生成一个只包含字母数字字符和一个点的新文件名。更好的是,使用哈希算法并将其与字母数字字符结合。
    • 设置文件名长度限制。
    • 使用POST方法。
    • 确保基本的服务器文件不能被访问、替换或篡改。
    • 要获得完整的列表,您将从OWASP(开放Web应用程序安全项目)的指南中获益良多。

    如果您实现了这些安全措施的良好组合,您将有更好的机会防止恶意用户的攻击。您的服务器和应用程序将按预期运行,您的用户将继续喜欢使用您的产品。

    如何提高文件上传的速度、可靠性和安全性

    在使您的文件上传工具成为理想的工具之前,您必须实现大量的功能和实践。然而,这意味着更多的开发时间和维护,更直白地说,意味着更大的压力。

    但先别着急。如果你没有时间、人力和预算,你可以选择一个现成的第三方文件上传解决方案。这些是由专门从事文件上传的开发人员精心制作的,并具有最新和最先进的文件上传功能。

    如果他们能够奢侈地添加这些功能,这也意味着他们拥有近乎最佳的速度、高上传成功率和强大的安全措施。有些甚至是开源的,更强大的还有免费计划和免费试用。

    Filestack是这些已经具有速度、可靠性和安全性的高级文件上传解决方案之一。它具有智能摄取、CDN支持和各种身份验证措施,让您专注于最重要的事情,即您的核心功能。使用这样的文件上传器,您可以显著减少开发时间,同时交付质量更好的产品。

    您选择如何实现您的文件上传解决方案取决于您。重要的是,您可以为用户提供快速、可靠和安全的文件上传体验。

    Baidu