PHP 新手入门指南 - 隐藏敏感信息

我们编写的程序中,有时会涉及到连接数据库或一些账户以及口令等敏感信息,如果直接在程序中通过硬编码将会不安全也不容易维护,比如:

getMessage());
        }
    }
}

如果这些信息控制不善容易造成信息泄漏,同时也难以维护管理。为此我们可以调整思路,让这些运行参数变得灵活可配置,从而到在编码时不直接暴露敏感信息,比如通过集中配置的方式来实现。

小实践

在之前系列的项目代码基础上。我们新增 config.php 文件:

// config.php
 [
        'name' => 'mytodo',
        'username' => 'root',
        'password' => '',
        'connection' => 'mysql:host=127.0.0.1',
        'options' => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]
    ]
];

这里设置 PDO::ATTR_ERRMODE 表示要返回错误报告。
更多可以参考手册 PDO::setAttribute

我们将数据库需要用到的相关信息抽取出来集中到了 config.php 中,这很方便我们之后集中管理这些会变动的信息。

接下来我们将 database/Connection.php 文件内容更改为:

// database/Connection.php
getMessage());
        }
    }
}

在我们之前的 bootstrap.php 中,内容修改后如下:

这样我们引入了配置文件 config.php 让它能为数据库连接进行灵活的配置,只要我们控制好 config.php 的私密性(这里暂不展开具体讨论),我们就已避免从硬编码的角度暴露敏感信息。

你可能感兴趣的:(PHP 新手入门指南 - 隐藏敏感信息)