2012-12-04 147 views
-1

在连接到一堆数据库的Web应用程序中,存储数据库用户名和密码的最安全方法是什么?我不能哈希他们,因为我仍然必须使用它们来连接到数据库。由于数据库可能包含敏感信息,纯文本并不会真正削减它。什么是最安全的方式来存储他们,使他们仍然可以使用?如何存储数据库密码?

谢谢!

+0

无论是IT安全论坛还是数据库管理员论坛都可以提出这个问题吗? –

+0

可能的[如何最好地存储用户信息和用户登录名和密码]的副本(http://stackoverflow.com/questions/947618/how-to-best-store-user-information-and-user-login-and-密码) – DocMax

回答

0

有一些解决方案提供了解决这个问题的一些表象,但在我看来,一个纯文本配置文件是完全可以接受的。如果入侵者访问你的文件系统,他们可以只抓取原始数据库文件。

1

您可以在单独的文件中定义这些变量,并将它们存储在不可通过网络访问的文件夹中,或者使该文件不可访问,并将其包含在连接文件中。

即配置文件

如果您在使用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; 
    } 

} 

    ?> 
相关问题