【问题标题】:File Uploads in HTML5 Web formsHTML5 Web 表单中的文件上传
【发布时间】:2014-02-23 06:12:08
【问题描述】:

我正在开发一个网站,该网站有一个由 HTML5 构建的“工单”,并使用 polyfill 库 (webshims) 进行客户端验证,并使用 php 进行服务器端验证。

客户希望用户能够在表单填写过程中上传文件(各种媒体,例如 .doc、.psd,甚至 CAD 文件)。由于数据经过处理,然后邮寄到客户的电子邮件地址,我也可以以某种方式附加文件吗?我对使用 MySQL 不太熟悉,所以我想知道创建它会有多困难。

我认为我的服务器仅允许最大上传 100mb(根据 phpinfo),我相信客户向收件箱传输的最大文件约为 20-40mb。

为文件上传创建服务器端验证功能是否很难?感谢您的反馈!

【问题讨论】:

  • 这实际上与 HTML5 或表单无关,而是与服务器端上传处理程序有关。你应该重命名你的问题。
  • 实际问题的答案是 - 不,不是

标签: php html forms webshim


【解决方案1】:

创建一个很难吗?不。很难创建一个真正安全的服务器,确定黑客不会使用它来接管您的服务器吗?是的。

我强烈建议您在允许客户端将文件上传到服务器之前详细研究如何安全地执行此操作。在我的公司,我们确定风险太大。允许未经审查的人将内容上传到您的服务器只是要求某人在图像文件的元描述部分中嵌入病毒,或者在 PDF 中嵌入overflow the buffer,或者他们在最后提出的任何其他技巧星期。您可以尝试阻止您知道的那些,但他们总是想出新的方法。

我所知道的最佳解决方案是使用第三方服务,允许通过它们进行上传。在完全检查文件之前,这些文件不会到达您的服务器。下一个最佳解决方案是为您自己的服务器购买一项服务,为您进行验证。这与普通计算机防病毒软件的工作方式相同,但您要确保用户通过此服务提供的内容上传,而不仅仅是通过您自己的代码。之后是你所要求的并编写你自己的验证器,这是最便宜的解决方案,但也是最危险的。请记住,您在网上找到的任何安全建议,黑客也可以找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2013-06-11
    • 2010-12-15
    • 2013-02-02
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多