【问题标题】:XML protection?XML 保护?
【发布时间】:2010-11-10 14:20:39
【问题描述】:

我有一些可公开访问的 XML 文件存储在网络服务器上,我可以通过不可公开访问的 html 和 php 文件对其进行更新。我已经使用会话和令牌保护了 php 文件。我只是想知道我是否缺少任何东西。

问题:任何人都可以通过创建自己的 html 表单和 php 文件来将数据注入 XML 文件吗?可以采取哪些额外措施来完全保护 XML 文件?

谢谢

【问题讨论】:

    标签: php html xml forms


    【解决方案1】:

    1。您说 XML 文件在网络服务器上。

    问:谁(网络服务器上的哪些用户)可以写入文件?它们是用户可写的、组可写的还是世界可写的?

    理想情况:只有拥有用户才能写入文件。这可以防止服务器上的其他人(root 除外)与他们混淆。

    2.您说您可以使用 PHP 脚本更新 XML 文件,并且您保护了 PHP 脚本(这些可能是您最薄弱的环节)

    问:它们是如何保护的?您需要在网络服务器上登录吗?你在使用 SSL 吗?还是您只是将带有一些用户名和密码的表格放在一起?它们是可写的,写给谁?

    回答您的问题:如果 XML 文件仅对特定用户可写(例如“悖论”)并且更新文件的 PHP 脚本以该用户身份运行但其他用户不可写,则您的文件是就像您的计算机、服务器、网络和脚本中最薄弱的环节一样安全。

    【讨论】:

      【解决方案2】:

      我认为这仅取决于您开发私人行政区域的方式。

      例如,您必须确保直接写入 xml 文件的 php 脚本以某种方式受到未经授权的访问(会话、密码、.htaccess、身份验证令牌等)的保护,显然您不应该只保护管理表单(用户界面)...

      如果您可以提供有关实施的更多详细信息,那么提供帮助会更容易......

      【讨论】:

        【解决方案3】:

        “我在网络服务器上存储了一些可公开访问的 XML 文件,我可以通过不可公开访问的 html 和 php 文件对其进行更新。我使用会话和令牌保护了 php 文件。我只是想知道是否有任何东西我迷路了。” - 好吧,如果您启动了会话,您可能会在此处显示指向 XML 文件的链接。如果没有会话没有链接,有意义吗?示例:如果您的 Web 根目录是 /var/www/html,您可能会为 XML 文件创建一个单独的目录,例如 /var/www/xml 现在此文件夹无法从 URL 访问,但您可以链接文件) 在会话身份验证成功时从您的 PHP 脚本中调用。

        // index.php (pseudo code)
        if($authenticated) {
           // echo '<a href="/var/www/xml/file.xml">Display XML</a>';
        } else {
           // no links to files
        }
        

        “问题:任何人都可以通过创建自己的 html 表单和 php 文件将数据注入 XML 文件吗?可以采取哪些额外措施来完全保护 XML 文件?” - 答案是肯定的,人们可以创建一个 php(或其他语言)来获取您的 xml 并修改其内容。但是他们不能修改您站点上的 XML(您的脚本使用的 XML),他们可以从您的站点读取 XML 并将其解析出来或在另一个站点上对其进行操作(例如 Web 服务)。我不确定您是如何获得 XML 权限的,而且我不知道有任何 XML 漏洞(但我确信有一些漏洞),但是将 XML 注入您的 XML 应该非常困难。您可以考虑 XML 文件的只读文件权限,以限制最终用户的功能。

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-30
          • 2011-01-09
          • 1970-01-01
          • 2011-04-16
          • 2011-11-03
          • 2012-03-23
          • 2021-04-28
          相关资源
          最近更新 更多