在连接到一堆数据库的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;
}
}
?>
无论是IT安全论坛还是数据库管理员论坛都可以提出这个问题吗? –
可能的[如何最好地存储用户信息和用户登录名和密码]的副本(http://stackoverflow.com/questions/947618/how-to-best-store-user-information-and-user-login-and-密码) – DocMax