安全性和.ini文件

时间:2015-04-16 09:42:49

标签: php security ini

在.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;
    }

?>

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

我会问为什么?为什么不把它变成PHP文件?

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

然后当您需要时,只需致电$config = require "config.php";

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

此外,即使它在webroot中(或者服务器配置错误允许直接访问该文件),它也不受直接Web访问的保护。