PHP文件上传系统的安全隐患

PHP文件上传系统的安全隐患

我已经使用 PHP 构建了一个小型上传系统,目前它运行良好,然而我遇到的问题是我让它运行的方式。

我没有太多的安全背景,但这是我目前正在努力学习的。

因此,为了使文件上传系统正常工作,我需要更改要将文件放入的文件夹的权限。

所以我有一个 Windows 服务器,我找到文件夹 > 右键单击​​ > 属性 > 安全 > 编辑

这里有 5 个组的列表

  • 创造者
  • 系统
  • 管理员
  • 用户
  • 受信任的安装程序

因此,当我上传文件时,它会上传到临时文件,然后系统将文件移动到正确的位置,比如说 /vids 。

最初,“用户”组的权限在写入权限上被设置为“拒绝”,这意味着用户组无法将文件写入此位置,这意味着当系统尝试移动文件时会出现权限错误。

因此,我将“用户”组的写入权限更改为“允许”写入,文件上传和移动就可以正常工作。但是,我担心从安全角度来看,这是不好的做法?

据我所知,如果它具有写入权限,攻击者可以将脚本放在该位置然后执行它,这是正确的吗?如果是这样,我该如何解决这个问题并使其更安全?

答案1

攻击者当然可以上传某种形式的恶意代码并运行它,但有几种方法可以缓解这种情况。不允许直接访问文件,而只能通过某种中间脚本。将上传限制为仅选定的几种文件类型(图像类型,或仅文本文件等)。如果我理解你的问题,权限不是需要担心的事情。

相关内容