这似乎是一个愚蠢的问题,但我已经谷歌搜索无济于事。

我一直认为 PHP 是一种用于创建动态数据库驱动站点的语言,而且我从未想过使用它来移动实际服务器上的系统文件(因为我从来没有需要)。我的问题是:

  • 可以在/bin 或/etc 中移动、复制或编辑系统文件(我以 Linux 服务器为例),标准的 PHP 5.3.x.x 安装可以移动、复制或编辑系统文件吗?
  • 这是一个好主意/实践吗?

  • 我从来没有想过,如果一个恶意黑客能够将一些 PHP 注入(inject)一个站点,他们实际上将被授予访问整个 Linux 服务器(及其所有系统文件)的权限。我只认为 PHP 是在/vhosts 目录中运行的东西(也许是天真)。

    对不起,如果这听起来像一个愚蠢的问题,但我无法真正测试我的理论,就好像我的老板看到我编写/上传/执行一个在 Linux 文件系统中移动东西的脚本我会死的。

    谢谢你们的帮助! :)

    最佳答案

    PHP 可以在您的服务器上运行它所运行的用户帐户的任何权限。 PHP 作为一种语言不受任何限制(至少在权限方面),受限制的是用户帐户。

    这就是为什么人们通常会在这里为 Apache/nginx/insert web 服务器创建一个用户来运行,并且只授予它操作与 web 服务器相关的文件和目录的权限。如果您不授予此用户对 /bin/etc 的访问权限,则无法执行任何会影响它们的操作。



    通常不会。将系统管理留给您的系统管理员,而不是请求您的 PHP 脚本的用户。

    关于php - PHP 可以移动并编辑服务器上的根系统文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8740253/

    10-16 20:45
    查看更多