在连接到一堆数据库的 Web 应用程序中,存储数据库用户名和密码的最安全方法是什么?我不能散列它们,因为我仍然必须使用它们来连接数据库。纯文本并没有真正削减它,因为数据库可能包含敏感信息。什么是最安全的存储它们以便它们仍然可以使用的方法?
谢谢!
在连接到一堆数据库的 Web 应用程序中,存储数据库用户名和密码的最安全方法是什么?我不能散列它们,因为我仍然必须使用它们来连接数据库。纯文本并没有真正削减它,因为数据库可能包含敏感信息。什么是最安全的存储它们以便它们仍然可以使用的方法?
谢谢!
您可以在单独的文件中定义这些变量并将它们存储在不可通过网络访问的文件夹中,或者使文件不可通过网络访问并将其包含在您的连接文件中。
即配置文件
如果你使用 PHP
凭证文件
<?php
define("database_username", "*****");
define("database_password", "*****");
define("database_server", "*****");
define("database_name", "*****");
?>
..................................................... .....................................
连接脚本
<?php
require ('../non-webaccessible-folder/credentials.php');
class Databased {
public static $connection;
function __construct() {
$this->connection = new mysqli(
database_server,
database_username,
database_password,
database_name
);
}
public static function connect() {
if (!isset(self::$connection)) {
self::$connection = new mysqli(database_server, database_username, database_password, database_name);
}
return self::$connection;
}
}
?>
有一些解决方案可以为这个问题提供一些解决方案,但在我看来,纯文本配置文件是完全可以接受的。如果入侵者可以访问您的文件系统,他们无论如何都可以获取原始数据库文件。