【发布时间】:2016-02-22 22:54:43
【问题描述】:
您在 Grails 中实施了哪些建议的技巧和窍门,以确保通过 <input type="file" ....> 在公开网站上上传的文件的危害最小?我正在考虑使用 contenttype 来确保只允许上传 Word 或 PDF 文件。但我不确定我们如何防止上传带有可执行信息的 Word 或 PDF 文件?我们可以使用任何其他过滤器吗?
【问题讨论】:
标签: grails file-upload
您在 Grails 中实施了哪些建议的技巧和窍门,以确保通过 <input type="file" ....> 在公开网站上上传的文件的危害最小?我正在考虑使用 contenttype 来确保只允许上传 Word 或 PDF 文件。但我不确定我们如何防止上传带有可执行信息的 Word 或 PDF 文件?我们可以使用任何其他过滤器吗?
【问题讨论】:
标签: grails file-upload
你可以使用例如:
<input type="file" maxlength="5242880" accept="application/pdf"/>
在上传操作中,您可以使用 (ClamAV) 来扫描病毒。
但这会导致另一个问题。如果上传者将任何文件重命名为“.pdf”,它也可以上传。即使文件不是真正的文件,contentType 也会返回“application/pdf”。
解决方案: 您必须阅读文档的第一行并检查它是否以“%PDF”开头。如果您打开 PDF,例如使用 Sublime Text Editor 你可以看到它。
【讨论】: