如何防止人们将有害文件上传到我的网站?

时间:2016-04-28 10:15:34

标签: php file-upload server-side-attacks

简而言之,我有一个网页,允许人们将文件上传到我的网站,然后显示他们上传的内容的链接。

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

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

我希望网站尽可能开放 - 我喜欢上传者允许用户将网页添加到我的网站这一事实。但是,我需要它对用户(和我)来说是安全的。

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

1 个答案:

答案 0 :(得分:1)

您需要考虑多种因素,选择适合您软件需求的内容:

  1. 不允许那些可执行文件如html,php,cgi
  2. 如果您允许上传这些文件,那么在该目录中停止任何脚本执行(这将通过.htaccess完成)如果您希望允许html然后停止任何服务器端脚本,如PHP。
  3. 而不是直接链接到这些文件。通过您的服务器发送文件,如PHP标头处置。通过这种方式,文件将作为下载发送,攻击者将无法直接链接到该文件,因此无法执行该文件。