为什么删除 777 权限如此重要?

rad*_*dex 4 php permissions chmod apache-2.2

我正在为我的 PHP Web 应用程序编写安装程序。它要求用户将一些文件和目录(config.php、缓存、上传、.htaccess)的权限更改为 777(以便它可写)。我在许多应用程序中看到安装程序要求用户将权限(对于 config.php 等)恢复到 644。

为什么如此重要?为什么我不能把它留在 777 上?我想这是某种安全问题,但如果我让这些文件可写,究竟会发生什么?

cor*_*ump 7

PHP 脚本在网络服务器上运行。以这种方式保留权限将使您的 Web 服务器用户(www-dataapache)能够写入这些文件。如果您的脚本存在一些错误或漏洞,这些权限将允许 Web 服务器(以及外部代理)更改文件和文件系统的内容。可能发生的事情:

  • 丢失一切(写权限也是删除文件的权限);
  • 添加不需要的内容:一些攻击旨在向您的站点添加数据,例如恶意脚本、虚假页面或用于网络钓鱼和垃圾邮件发送的脚本。由于您的网络服务器可以将文件写入文件系统,因此可以将数据上传到任何有权限的地方。

所以,是的,在那个状态上留下权限是一个可怕的想法。