您不应将用户上传的内容存储在站点结构中可由已知URL直接访问的任何地方。这是一个安全风险,因为用户可能会上传.htm文件和.js文件。即使是具有正确扩展名的文件也可能包含恶意代码,这些恶意代码可由经过身份验证的用户在您的站点上下文中执行,从而允许服务器端或客户端攻击。

例如,请参阅http://www.acunetix.com/websitesecurity/upload-forms-threat.htm和What security issues appear when users can upload their own files?,它们提到了在允许用户上传文件并在您的站点中提供下载之前需要注意的一些问题。

structure

Don't 不要将文件放在正常的网站目录中,而要使用用户给你的原始文件名。您可以添加带有原始文件名的内容处置标头,以便他们可以以相同的文件名再次下载它,但是服务器上的路径和文件名不应该是用户可以influence.Don't信任图像文件的内容-调整图像文件的大小并仅提供调整大小的版本以供后续下载不信任mime类型或文件扩展名,请打开文件并对其进行操作以确保它是其声明的内容。限制上载大小和时间。