【问题标题】:PHP: Getting variables from a php file?PHP:从 php 文件中获取变量?
【发布时间】:2012-05-16 00:05:31
【问题描述】:

我正在创建一个允许用户安装不同主题的 php 应用程序。 每个主题目录都必须放在“主题”目录中。 每个主题必须有一个名为theme_profile.php 的文件,其中包含主题规范,例如主题名称等...

所以这个 theme_profile.php 有一堆变量包装在一个名为 $theme 的数组中,($theme["title"]="My theme" 等等...)

现在我希望我的应用程序索引文件能够获取这些变量,而无需简单地“包含”文件(如果将恶意代码放置在此文件中,这是有风险的)。

get_variables_from_file("file.php")之类的吗?

【问题讨论】:

  • 一旦您可以访问该变量,您将如何使用它?它仍然可能包含恶意代码。你的最终目标是什么?
  • 不验证用户输入有什么问题?

标签: php


【解决方案1】:

没有必要为此使用 php 文件。只需创建 XML 或任何其他数据文件类型并在 PHP 代码中解析它们。这样更安全。

【讨论】:

    【解决方案2】:

    在另一个问题上查看此答案可能会让您朝着正确的方向前进:https://stackoverflow.com/a/1858294/303657

    【讨论】:

      【解决方案3】:

      正如其他答案中提到的,在这种情况下不需要使用 PHP。实际上最好使用数据文件。 (如 XML、JSON 等)

      这是一个示例 JSON 编码文件:

      // first create the $theme array
      $theme['title'] = '...';
      $theme['...'] = '...';
      
      // then json encode it
      $themeJson = json_encode($theme);
      
      // put it in a file
      file_put_contents('theme_profile.json', $themeJson);
      

      为了加载目的,只需使用json_decode function

      你也可以用同样的方式使用PHP serialize

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-23
        • 2012-02-06
        • 2017-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多