【问题标题】:How to Stop PHP files editing parent directories with chmod or .htaccess?如何停止使用 chmod 或 .htaccess 编辑父目录的 PHP 文件?
【发布时间】:2011-06-06 06:07:43
【问题描述】:

我允许人们在我的服务器上使用目录,但我不希望 PHP 文件或其他服务器端脚本编辑任何父目录是否有人知道如何执行此操作以及是否可以使用 chmod 或 .htaccess .

我用谷歌搜索了它,但找不到任何我认为我可能一直在寻找错误的东西。

【问题讨论】:

    标签: php linux apache .htaccess chmod


    【解决方案1】:

    使用 open_basedir 指令将您的 PHP 脚本限制在它们的主目录和最终的额外目录中。这本身就非常有效。

    使用强化的 php,因为这不需要任何成本,而且可以提供帮助。

    使用 suPHP 让 PHP 脚本以文件所有者的身份执行(每个网站一个用户)并避免使用具有不良权限的文件,例如 777... suPHP 还可以让您在每个目录中拥有一个 php.ini,这样一个人的愚蠢要求不会毁掉一切。

    Mod_security 是一大优势,但需要很好地使用和配置。

    【讨论】:

      【解决方案2】:

      只是不允许使用其凭据运行 PHP 脚本的用户更改父目录。使用与 PHP 用户不同的用户对父目录 drwxr-xr-x 进行 chmod。然后在子文件夹中授予必要的权限。

      【讨论】:

      • 是的,我给了他们一个 FTP 帐户,所以我不知道如何处理网络服务器上的凭据。
      • 不管是不是网络服务器。用户只能访问他有权限的东西。因此,假设我是您的 ftp 用户,名为 lorenzo。我可以在 /home/lorenzo 和我有权限的任何其他目录中读写,但是(默认情况下)我不能写入 /var/www 因为它应该是 drwxr-xr-x root:root (或者你在那里配置的任何东西)
      • 是的,但是 php 脚本正在服务器端执行,所以我不能限制它,否则我自己将无法使用 php
      【解决方案3】:

      您的意思是,您不希望他们能够更改您的 PHP 文件?

      或者您不希望 PHP 程序能够更改此目录中的文件?

      如果是第一个,请将文件的所有权设置为与使用chown 登录的客人不同的所有者和组。然后在要保护的文件夹中执行chmod go-rwx *php。这将使与您和其他任何人不在同一组中的用户无法读取、执行或写入这些文件。

      如果是第二种情况,请将文件的所有权更改为您的网络服务器运行帐户以外的其他帐户(尝试<?php passthru('whoami');?>)。然后执行与上面相同的 chmod 命令。

      【讨论】:

        猜你喜欢
        • 2013-01-16
        • 2012-04-13
        • 1970-01-01
        • 2011-07-19
        • 1970-01-01
        • 2012-07-15
        • 1970-01-01
        • 1970-01-01
        • 2013-07-08
        相关资源
        最近更新 更多