在.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;
}
?>
我想知道在函数中使用重要变量是否是一种很好的方法。
答案 0 :(得分:3)
如果您将信息保存在ini文件或php文件中,我猜是个人的事情。使其安全的原因是您的文件不应保存在公共Web路径中。 因此,请确保您读取/包含的文件位于文档根目录之外。
答案 1 :(得分:0)
我会问为什么?为什么不把它变成PHP文件?
<?php
return array(
"host" => "...",
"username" = "...",
//...
);
然后当您需要时,只需致电$config = require "config.php";
这比ini文件更好,因为它已被解析(你会因为错误而不是忽略错误而得到语法错误)并且因为解析是可缓存的(操作码缓存)。
此外,即使它在webroot中(或者服务器配置错误允许直接访问该文件),它也不受直接Web访问的保护。