【问题标题】:Security and .ini file安全性和 .ini 文件
【发布时间】:2015-04-16 09:42:48
【问题描述】:

将连接到数据库所需的数据存储在 .ini 文件中是否安全?

我构建了这样的东西

<?php

    include_once($_SERVER['DOCUMENT_ROOT']."proto/class/Database.php"); 

    function connect()
    {
        $config = parse_ini_file($_SERVER['DOCUMENT_ROOT']."proto/admin/config.ini");   

        $host = $config['host'];
        $username = $config['username'];
        $password = $config['password'];
        $database = $config['dbname'];  

        $db = new Database($host,$username,$password,$database);    
        return $db;
    }

?>

我想知道在函数中使用重要变量是否是一种好方法。

【问题讨论】:

    标签: php security ini


    【解决方案1】:

    如果您将信息保存在 ini 文件或 php 文件中,我猜这是个人的事情。使其安全的是您的文件不应保存在您的公共网络路径中。 因此,请确保您读取/包含的文件位于文档根目录之外。

    【讨论】:

      【解决方案2】:

      我会问为什么?为什么不把它做成一个 PHP 文件呢?

      <?php
      return array(
          "host" => "...",
          "username" = "...",
          //...
      );
      

      然后当你需要它时,只需拨打$config = require "config.php";

      这比 ini 文件要好,因为它已经过解析(你会得到语法错误而不是忽略错误)并且解析是可缓存的(操作码缓存)。

      此外,即使它位于 webroot 中(或服务器配置错误允许直接访问文件),它也受到保护,无法直接访问 Web。

      【讨论】:

        猜你喜欢
        • 2013-07-17
        • 1970-01-01
        • 2016-02-17
        • 2010-10-16
        • 2020-08-25
        • 2012-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多