【问题标题】:Security of changing permissions of file on server更改服务器上文件权限的安全性
【发布时间】:2011-05-07 23:52:33
【问题描述】:

我有一个编辑 XML 文件的 PHP 文件,它们都在同一个网络服务器上。所以我需要 chmod 666 XML 文件。但是,由于授予的写入权限,我已经看到了一些关于这是安全风险的警告。

我只关心远程用户是否可以编辑我的 XML 文件,我是否正确地认为如果没有本地用户就不可能做到这一点?

【问题讨论】:

    标签: php security chmod


    【解决方案1】:

    您可以为他们设置一个组并为该文件设置一个组权限,并为该文件授予组权限,该组的所有用户都可以编辑该文件。这样,只有群组成员可以编辑,而不是所有公共人员。

    【讨论】:

    • 问题是,我(我认为我)需要允许 apache 更改 XML,这需要 chmod 来允许所有写入权限。
    • 这个想法是,让执行 Apache 或 PHP 的用户与您的 FTP 用户在同一个组中。
    • 我不确定,但是否也有办法将 apache 添加到该组?我想有,如果我找到时间(目前正在工作),我会在谷歌上搜索一下并进行测试。但是,我相信您可以将 apache 添加到组中。
    • 哦,等等,刚刚试了一下,显然 Apache 已经设置在我的组中了。谢谢。
    【解决方案2】:

    谁首先创建了 XML 文件?如果直接通过PHP创建,则不需要设置此类权限。

    如果您在共享主机上,其他人可能能够修改 XML,具体取决于服务器的配置。

    安全风险取决于你如何处理数据,你是否评估它,你是否根据 XML 中的内容调用函数?你只是输出一些东西而不转义吗?您是否在 XML 中存储敏感信息?

    我不确定您所说的“远程用户”是什么意思。任何其他登录的用户,读取系统用户,都可以修改文件。所以任何通过 SSH 或其他东西连接的人都可以改变它。 但是,如果是虚拟服务器,那就另当别论了。

    【讨论】:

    • XML 是手动上传的,我有一个纬度和经度,如果为空白,我对其进行地理编码并写入 XML 文件(使用 PHP)。远程,我的意思是说: evil.com/editXML.php 读取 myHost.com/map.xml 是否能够在不登录我的托管帐户的情况下更改 map.xml?
    • 在 FTP 中手动操作?如果是这样,您最好使用 prolink007 的解决方案。但是,这仅在您具有 shell 访问权限并允许修改设置时才有效。如果您在共享主机上,您的 PHP 实例可能与您的 FTP 使用相同的用户运行,或者它们在同一个组中。
    • 是的 FTP,不,我没有 shell 访问权限。当我在共享主机上时(我认为)这些用户将能够修改 xml 文件吗?如果是这样的话,有没有办法阻止这个但仍然允许我的 PHP 有写权限?
    猜你喜欢
    • 2015-11-06
    • 1970-01-01
    • 2015-07-23
    • 2011-01-01
    • 2013-07-17
    • 1970-01-01
    • 2017-02-09
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多