Php 如何使用数据库密码?
我对php非常陌生。目前我正在从事一个项目,从数据库服务器获取数据,然后返回到客户机。我得到了这个小代码片段:Php 如何使用数据库密码?,php,passwords,Php,Passwords,我对php非常陌生。目前我正在从事一个项目,从数据库服务器获取数据,然后返回到客户机。我得到了这个小代码片段: <?php $host_name = 'host'; $database = 'db'; $user_name = 'user'; $password = 'passwd'; $link = new mysqli($host_name, $user_name, $password, $database); if ($link->connect_er
<?php
$host_name = 'host';
$database = 'db';
$user_name = 'user';
$password = 'passwd';
$link = new mysqli($host_name, $user_name, $password, $database);
if ($link->connect_error) {
die('<p>Connection failed</p>');
} else {
echo '<p>Connection success.</p>';
}
?>
难看的是,密码是写在源代码中的。当使用gitlab或类似软件时,密码总是上传到每个软件版本中。这(当然)是一个巨大的安全风险。我怎样才能使它更安全?将密码存储在一个文件中,然后使用php读取该文件以获取数据库密码-这是一个好的解决方案吗?要做到这一点,您可以使用类似的框架,但这将是您开发中的一个重大变化。 Laravel所做的是生成一个
.env
文件。此文件包含所有应用程序凭据(数据库、邮件等)。您也可以这样做:创建一个不在git中的文件(将其添加到.gitignore
)(例如JSON文件)。
克隆存储库时,只需创建此文件
例如,名为credentials.JSON的JSON文件:
{
"database": {
"login": "your-login",
"password": "your-secret-password"
}
}
{
"database": {
"login": "",
"password": ""
}
}
您可以使用PHP轻松读取JSON文件
显然,您必须管理.htaccess
,才能从外部读取此文件
注意:您可以在git存储库中添加一个空白文件,以保留JSON文件结构,而不使用凭据示例中的凭据。JSON
:
{
"database": {
"login": "your-login",
"password": "your-secret-password"
}
}
{
"database": {
"login": "",
"password": ""
}
}
克隆后,您只需重命名文件并添加凭据