2016-04-28 73 views
-1

简而言之,我有一个网页,允许用户将文件上传到我的网站,然后显示他们上传的任何链接。如何防止人们将有害文件上传到我的网站?

上传允许上传任何文件类型,并将其存储在名为“uploads”的公用文件夹中。

我可以预见这会带来很多安全风险。例如,如果用户上传HTML文件,则在打开时它会呈现为网页 - 它们可能会重定向到此处的病毒等。

我希望网站尽可能开放 - 我喜欢上传者允许用户将网页添加到我的网站。但是,我需要它为用户(和我)提供安全和安全的保护。

如何让网站尽可能开放(允许用户尽可能多的自由)而不会受到黑客的攻击?

+1

这就是我们都想要的......自由与安全...... –

回答

1

有你需要考虑的,选择多个事情,永远适合您的软件需求:

  1. 不要让那些如HTML,PHP,CGI
  2. 可执行文件,如果允许这些文件然后在该目录中停止任何脚本执行(这将通过.htaccess完成)如果您希望允许html,则停止任何服务器端脚本(如PHP)。
  3. 而不是直接链接到这些文件。像通过PHP头部处理一样通过服务器发送文件。通过这种方式,该文件将作为下载文件发送,攻击者不会直接链接到该文件,因此他无法执行该文件。
+0

我会建议将文件保存在公共目录之外(I.E在'public_html'之外)。也可以为每个上传文件创建一个随机名称,不带扩展名(将原始文件保存在数据库中),并仅在答案的第3部分提供来自脚本的原始文件名。我还在服务器上安装了[ClamAV](http://www.clamav.net/),并使用命令行扫描上传到服务器的每个文件 –

相关问题